标签:
循环语句、循环语句的嵌套及练习
一、 循环语句
1、循环语句的四要素
初始条件、循环条件、循环体、状态改变
for(初始条件;循环条件;状态改变)
{
循环体
}
例:
初始条件;循环条件;状态改变
for (int i = 1; i <= 10; i++)
{
Console.WriteLine("你好!");循环体
}
Console.ReadLine();
2、死循环
for (;;)//或者可以写成“int i = 0; i >-1; i++”
{
循环体
}
二、练习:
1、//输入一个数,计算送1乘到10的结果求阶乘
Console.Write("请输入一个正整数:");
int a = int.Parse(Console.ReadLine());
int cj = 1; //若cj=0任何数相乘都是0无意义,所以得是1
for (int i = 1; i <= a; i++)
{
cj *= i; //cj=cj*1
}
Console.WriteLine(cj);
Console.ReadLine();
2、//写出100以内所有跟7相关的数
//1、个位数是7:i / 7 == 7
//2、十位数是7:i % 10 == 7
//3、被7整除(7的倍数):i % 7 == 0
(1)第一种方法:
for (int i = 1; i <= 100; i++)
{
if (i % 10 == 7)
{
Console.Write(i + "\t");
}
else if (i / 7 == 7)
{
Console.Write(i + "\t");
}
else if (i % 7 == 0)
{
Console.Write(i + "\t");
}
}
Console.ReadLine();
(2)第二种方法:
for (int i = 1; i <= 100; i++)
{
if (i % 10 == 7 || i / 7 == 7 || i % 7 == 0)
{
Console.Write(i + "\t");
}
}
Console.ReadLine();
3、//100节楼梯,0-49节 分数等于节数 50以后(包括50)每节10分输入节数,得出分数
Console.Write("请输入您的楼梯数:");
int t = int.Parse(Console.ReadLine());
int sum = 0;
if (t >= 1 && t <= 100)
{
for (int i = 1; i <= t; i++)
{
if (i <= 49)
{
sum += i;
}
else
{
sum += 10;
}
}
Console.WriteLine("您的分数是" + sum.ToString() + "分");
}
else
{
Console.WriteLine("您的输入有误!");
}
Console.ReadLine();
4、//一个游戏,前20关是每一关自身的分数,
//21-30每一关是10分,
//31-40每一关是20分,
//41-49每一关是30分,
//50关是100分。
//输入你现在的关卡数,求你现在拥有的分数
//两种做法:if嵌套for for嵌套if
(1)if嵌套for
//如果目标关数为20关以下,循环计算总分
//如果目标关数为30关以下,循环计算总分
//1、用户输入关卡数
Console.Write("请输入您的关卡数:");
int g = int.Parse(Console.ReadLine());
//2、判断用户输入的关卡数是否正确
if (g >= 1 && g <= 50)
{
int sum = 0;
//3、如果正确那么才进行循环计算总分
if (g >= 1 && g <= 20)
{
for (int i = 1; i <= g; i++)
{
sum += i;
}
}
else if (g >= 21 && g <= 30)
{
for (int i = 1; i <= 20; i++)
{
sum += i;
}
for (int i = 21; i <= g; i++)
{
sum += 10;
}
}
else if (g >= 31 && g <= 40)
{
for (int i = 1; i <= 20; i++)
{
sum += i;
}
for (int i = 21; i <= 30; i++)
{
sum += 10;
}
for (int i = 31; i <= g; i++)
{
sum += 20;
}
}
else if (g > 41 && g <= 49)
{
for (int i = 1; i <= 20; i++)
{
sum += i;
}
for (int i = 21; i <= 30; i++)
{
sum += 10;
}
for (int i = 31; i <= 40; i++)
{
sum += 20;
}
for (int i = 41; i <= g; i++)
{
sum += 30;
}
}
else
{
for (int i = 1; i <= 20; i++)
{
sum += i;
}
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.ToString() + "分");
}
else
{
Console.WriteLine("您的输入有误!");
}
Console.ReadLine();
(2)for嵌套if
//循环从1到目标关数
//在每次循环中判断当前计算的是第几关
Console.Write("请输入您的关卡数:");
int g = int.Parse(Console.ReadLine());
if (g >= 1 && g <= 50)
{
int sum = 0;
for (int i = 1; i <= g; i++)
{
if (i <= 20)
{
sum += i;
}
else if (i > 20 && i <= 30)
{
sum += 10;
}
else if (i > 30 && i <= 40)
{
sum += 20;
}
else if (i > 40 && i <= 49)
{
sum += 30;
}
else
{
sum += 100;
}
}
Console.WriteLine("您的分数是:" + sum + "分");
}
else
{
Console.WriteLine("您的输入有误!");
}
Console.ReadLine();
5、for嵌套,外循环走一次的过程,内循环走了一整遍
int neicishu = 0;
int waicishu = 0;
for (int i = 1; i <= 5; i++)
{
for (int a = 1; a <= 5; a++)
{
neicishu++;
}
waicishu++;
}
Console.WriteLine(waicishu);//5次
Console.WriteLine(neicishu);//25次
Console.ReadLine();
标签:
原文地址:http://www.cnblogs.com/juyangchao12/p/5452562.html