首页 > 代码库 > C# for循环及循环嵌套

C# for循环及循环嵌套

    格式(for循环四要素:初始条件、循环条件、循环体、状态改变)

        for (int i=1<初始条件>;i<=n<循环条件>;i++<状态改变>)

        {

        <循环体>

        }

 

       for与if的相互嵌套,for与for的嵌套

 

        给出初始条件,先判断是否满足循环条件,如果不满足条件则跳过for语句,如果满足则进入for语句执行,for语句内代码执行完毕后,将按照状态改变,改变变量,然后判断是否符合循环条件,符合则继续执行for语句内的代码,直到变量i不符合循环条件则终止循环,或者碰到break;命令,直接跳出当前的for循环。

 

练习:

 

1.//输出十遍“你好!”

for (int i = 1; i <= 10; i++)
{
Console.WriteLine("你好!");
}

 

2.//输入一个正整数n,求从1到n所有数字的阶乘之和

Console.Write("请输入一个正整数:");
long n = long.Parse(Console.ReadLine());
long m = 1;
long x = 0;
for (long i = 1; i <= n; i++)
{
m *= i;
x += m;
}
Console.WriteLine(x);

 

3.//有100级台阶,前49级台阶的分数等于台阶数,50-100级台阶分数均为10,输入你到达的台阶数,求总分

方法一:

Console.Write("请输入您到达的楼梯数:");
int a = int.Parse(Console.ReadLine());
int sum = 0;
if (a >= 0 && a <= 100)
{
if (a < 50)
{
for (int i = 0; i <= a; i++)
{
sum += i;
}
}
else
{
for (int i = 1; i <= 49; i++)
{
sum += i;
}
sum = sum + 10 * (a - 49);
}
Console.WriteLine("您到达的楼梯数是:" + a + ",您的总分为:" + sum);
}
else
{ Console.WriteLine("您输入的楼梯数不正确。"); }

方法二:

Console.Write("请输入您到达的楼梯数:");
int a = int.Parse(Console.ReadLine());
if (a >= 0 && a <= 100)
{
int sum = 0;
for (int i = a; i <= a; i++)
{
if (a <= 49)
{
sum += i;
}
else
{
sum += 10;
}
}
Console.WriteLine("您到达的楼梯数是:" + a + ",您的总分为:" + sum);
}
else
{
Console.WriteLine("您输入的楼梯数有误。");
}

 

4.//有一对幼兔,幼兔一个月后长成小兔,小兔一个月后长成成兔并生下一对幼兔,问n个月后一共有多少对兔子(假如兔子没有死亡)

Console.Write("请输入第n个月,求每个月兔子的总数:");
int n = int.Parse(Console.ReadLine());
int you = 1;
int xiao = 0;
int cheng = 0;
int sum = 0;
if (n == 1)
{
sum = you + xiao + cheng;
Console.WriteLine("第{0}个月的幼兔数量为:{1}", n, you);
Console.WriteLine("第{0}个月的小兔数量为:{1}", n, xiao);
Console.WriteLine("第{0}个月的成兔数量为:{1}", n, cheng);
Console.WriteLine("第{0}个月的总兔数量为:{1}", n, sum);
}
else
{
for (int i = 2; i <= n; i++)
{
cheng = cheng + xiao;
xiao = you;
you = cheng;
sum = you + xiao + cheng;
Console.WriteLine("第{0}个月的幼兔数量为:{1}", i, you);
Console.WriteLine("第{0}个月的小兔数量为:{1}", i, xiao);
Console.WriteLine("第{0}个月的成兔数量为:{1}", i, cheng);
Console.WriteLine("第{0}个月的总兔数量为:{1}", i, sum);
Console.WriteLine();
}
}

 

5.//输出一个菱形

Console.Write("请输入一个正整数:");
int n = int.Parse(Console.ReadLine());
for (int i = 1; i <= n; i++)
{
for (int k = 0; k < n - i; k++)
{
Console.Write(" ");
}
for (int j = 1; j <= 2 * i - 1; j++)
{
Console.Write("★");
}
Console.WriteLine();
}
for (int i1 = 1; i1 <= n - 1; i1++)
{
for (int k1 = 0; k1 < i1; k1++)
{
Console.Write(" ");
}
for (int j1 = 1; j1 <= 2 * (n - i1) - 1; j1++)
{
Console.Write("★");
}
Console.WriteLine();
}

C# for循环及循环嵌套