for 循环的嵌套:
Console.Write("请输入一个数字:");
int n = Convert.ToInt16(Console.ReadLine());
for (int i = 1; i <= n; i++)//i从1开始递增到n结束
{
for (int t = 1; t <= i; t++)//循环条件与i有关,当i=1,t满足条件,打印一个"★",
{ //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();