c# while循环 do while循环
·
while循环
//while循环
//while(){}:当小括号条件成立 执行{}里面的东西,条件不成立的时候,循环就结束了
while (true) //true 就是永远成立 一直执行{}
{
Console.WriteLine("死循环");
break; //跳出死循环 只会执行一次
}
while (true) //死循环
{
Console.WriteLine("请输入一个数:");
int aa = int.Parse(Console.ReadLine()); //等待用户输入的一个过程
break;
}
while (true)
{
Console.WriteLine("输入yes/no");//如果输入的是yes一直输入,输入为no的时候 跳出循环
string name = Console.ReadLine();//等待用户输入的一个过程
if (name == "no")
{
break;
}
}
//使用while循环 执行有限次数循环
int i = 0;
while (i<10)
{
Console.WriteLine(i);
//更新i的值 直到i的值大于等于10,条件不成了,循环就不在执行
i++;
}
/* 1 先执行 i = 0
* 2 再判断i是否小于10 如果小于10执行{}
* 3 再去i++ 变成1
* 4 再去判断i是否小于10 如果小于10 再去执行{}
* 5 再执行i++ 一直到条件不成立时候 跳出循环
*
*/
//0+1+2...+100
int j = 0;
int sum = 0;//总和
while (j < 101)
{
sum += j;
j++;
}
Console.WriteLine(sum);
//while循环和if条件嵌套
//0-100之间偶数和
int a = 0;
int sum1 = 0;
while (a < 101)
{
if (a%2==0)
{
sum1 += a;
}
//a+=2; a 0 2 4 6 8...100
a++; //a 0 1 2 3
}
Console.WriteLine(sum1);//2550
//0-100之间能够被三整除的偶数 找到第一个
int count = 1;
while (count<101)
{
if (count%3==0 && count%2==0)
{
Console.WriteLine(count);
break;
}
count++;
}
//打印前5个 需要找一个变量记录满足条件当前的个数
int num = 1;
int count1 = 0;//计数器 记录个数变量
while (num<101)
{
if (num % 3 == 0 && num % 2 == 0)
{
Console.WriteLine(num);
count1++;
if (count1 == 5)
{
break;//跳出循环
}
}
num++;
}
continue
//continue:继续,不会跳出循环,只会跳出当前循环,后续的循环继续执行
//break : 跳出整个循环
int i = 0;
while (i<4)
{
i++;
if (i == 2)
{
continue;//继续下次循环
}
Console.WriteLine(i);// 1 3 4
}
//break 跳出整个循环
int i1 = 0;
while (i1 < 4)
{
i1++;
if (i1 == 2)
{
break;
}
Console.WriteLine(i1);//1
}
//输出1-100之间所有的偶数 continue
int b = 0; //初始值
while (b < 101) //循环条件
{
b++; //循环递增量
if (b % 2 != 0)// b是奇数 cw就不要再去执行了 需要跳出来
{
continue;
}
Console.WriteLine(b + "---------");
}
int aaa= 0;
while (aaa < 10)
{
aaa++;
if (aaa == 3)
{
continue;//跳出当前循环
}
if (aaa == 6)
{
Console.WriteLine(aaa + "???????"); // 6
break;//跳出整个循环 只要break 后面cw不在执行
}
Console.WriteLine(aaa + "+++++++");//1 2 4 5
}
do while 循环
while (false) //先判断 条件不成立 就不再去执行{}
{
Console.WriteLine("sss"); // 提示 有可能执行不到代码
}
//while 先判断条件 再去执行
//do...while:先去执行一次,再去判断条件,最起码执行一次
do//先执行 最后判断
{
Console.WriteLine("do...while流程控制");
}
while (false);
#region 如果用户输入一个小于0的数 一直输入
// 如果用户输入一个小于0的数 一直输入
/*
int num = int.Parse( Console.ReadLine());
while (num<0)// 输入数不对
{
Console.WriteLine("请重新输入一个正数");
num = int.Parse(Console.ReadLine());//重新输入
}
//能够执行到该句代码 是不是就证明while循环已经结束,证明num>=0
Console.WriteLine(num+"-----------------");
*/
#endregion
//使用 do...while 修改上面的例子
int num1;
do
{
Console.WriteLine("请输入一个正数:");
num1 = int.Parse(Console.ReadLine());
} while (num1 < 0); //num1 小于0的时候 执行{}
//while 实现输入数字的阶乘
Console.WriteLine("请输入一个数:");
int num2 = int.Parse(Console.ReadLine()); //8!=8*7..
int i = 1;//计数器
int sum2 = 1;//代表乘积
string s = "";
while (i <= num2)
{
sum2 *= i;// 计算乘积,把每次递增i乘以到sum2
s += $"{i}*";// 字符串拼接 把i替换成递增量
i++;// 递增量
}
Console.WriteLine(s);
Console.WriteLine(sum2);
//do-while 计算输入数字的阶乘
int i1 = 1; // 初始值
int sum3 = 1; //乘积
Console.WriteLine("请输入一个数");
int num3 = int.Parse(Console.ReadLine()); ;// 用户输入
do
{
sum3 *= i1;
i1++;
} while (i1 <= num3); // 条件
Console.WriteLine(sum3 + "//////////////////////////");
更多推荐
所有评论(0)