C# 循环语句 for 循环的嵌套 穷举 迭代 while 及例题

for 循环的嵌套:

 Console.Write("请输入一个数字:");

            int n = Convert.ToInt16(Console.ReadLine());

            for (int i = 1; i <= n; i++)//i1开始递增到n结束

            {

                for (int t = 1; t <= i; t++)//循环条件与i有关,当i=1t满足条件,打印一个"★"

                {  //t递增到不再满足条件<=i,则不再进行循环,而执行下一个命令打印换行" "

                    Console.Write("★");

                }

                Console.Write(" ");

            }

            Console.ReadLine(); 

for穷举:把所有可能性都列举一遍,把满足条件的筛选出来

for迭代:根据初始情况,不断求解中间情况,最终导出结果

while://当什么时

  int n = 1;

             while (n < 6)//在括号内直接限制循环条件,

             {//需要在中括号内给出改变方式,否则将会进入死循环

                 Console.WriteLine("打印结果{0}, {1}", n, 2 * n);//占位符 "{0}, {1}" ,n1,n2

                 n = n + 1;//在中括号内给予值得改变方式

             }

             int m = 1;

             while (true)

             {

                 Console.WriteLine("打印结果为" + m);

                 m++;

                 if (m == 6)

                 {

                     break;//break; 跳出语句:跳出循环

                 }

             }

             Console.ReadLine();

 do  while:先执行,再判断,必定执行一次

 例题:

1、找出100以内与7有关的数,并且打印
  个位数是7 a%10==7
  十位数是7 a/10==7
  能被7整除 a%7==0

for (int i = 1; i <= 100; i++)
{
if (i % 10 == 7 || i / 10 == 7 || i % 7 == 0)
{
Console.Write(i +" ");
}
}
Console.ReadLine();

2、累加求和

Console.Write("请输入一个正整数:");
int a = int.Parse(Console.ReadLine());
int sum = 0;
for (int i = 1; i <= a; i++)
{
sum += i;//sum=sum+1
}
Console.WriteLine(sum);
Console.ReadLine();

3、输入一个正整数,求阶乘

Console.Write("请输入一个正整数:");
int a = int.Parse(Console.ReadLine());
int jie = 1;
for (int i = 1; i <= a; i++)
{
jie *= i;//jie=jie*i
}
Console.WriteLine(jie);
Console.ReadLine();

4、求阶乘的和

Console.Write("输入一个正整数:");
int a = int.Parse(Console.ReadLine());
int sum = 0;
int jie = 1;
for (int i = 1; i <= a; i++)
{
jie *= i;
sum += jie;
}
Console.WriteLine(sum);
Console.ReadLine();

5、一个游戏,前20关是每一关的分数
  21~30关,每一关10分
  31~40关,每一关20分
  41~49关,每一关30分
  50关,是100分
  输入现在的关卡数,求现在的分数

方法一:

Console.Write("请输入你的关卡数:");

int a = int.Parse(Console.ReadLine());
if(a>=1 && a<=50)
{
int sum = 0;
for (int i=1;i<=a ;i++ )
{
if (i <= 20)
{
sum += i;//sum=sum+1
}
else if(i<=30)
{
sum += 10;//sum=sum+10
}
else if ( i <= 40)
{
sum += 20;//sum=sum+20
}
else if (i <= 49)
{
sum += 30;//sum=sum+30
}
else
{
sum += 100;//sum=sum+100
}

}
Console.WriteLine(sum);

}
else
{
Console.WriteLine("您输入的关卡数有误!");
}
Console.ReadLine();

方法二:

Console.Write("请输入你的关卡数:");
int a = int.Parse(Console.ReadLine());
if(a>=1 && a<=50)
{
int sum = 0;
if (a<= 20)
{
for (int i=1;i<=a ;i++ )
{
sum += i;//sum=sum+1
}
}
else if ( a<=30)
{
for (int i = 1; i <= 20; i++)
{
sum += i;//sum=sum+1
}
for (int i=21; i <= a; i++)
{
sum += 10;
}

}
else if (a <= 40)
{
for (int i = 1; i <= 20; i++)
{
sum += i;//sum=sum+1
}
for (int i = 21; i <= 30; i++)
{
sum += 10;
}
for (int i=31;i<=a ;i++ )
{
sum += 20;
}
}
else if (a <= 49)
{

for (int i = 1; i <= 20; i++)
{
sum += i;//sum=sum+1
}
for (int i = 21; i <= 30; i++)
{
sum += 10;
}
for (int i = 31; i <= 40; i++)
{
sum += 20;
}
for (int i = 41; i <= a; i++)
{
sum += 30;
}

}
else
{
for (int i = 1; i <= 20; i++)
{
sum += i;//sum=sum+1
}
for (int i = 21; i <= 30; i++)
{
sum += 10;
}
for (int i = 31; i <= 40; i++)
{
sum += 20;
}
for (int i = 41; i <= 49; i++)
{
sum += 30;
}
sum += 100;
}
Console.WriteLine(sum);

}
else
{
Console.WriteLine("您输入的关卡数有误!");
}
Console.ReadLine();

原文地址:https://www.cnblogs.com/hcx999/p/5702236.html