//while (循环的判断条件)如果条件为真就进入循环体,直到为假、跳出循环
//死循环 条件一直为真
while (3>2)
{
Console.WriteLine(1);
}
//控制循环次数 有限循环 比如可以通过改变条件的值,让条件有一条为假
int i = 1;
while (i > -1)
{
Console.WriteLine(i); //1,0
i--; //i最终的值是-1
}
例二
int k = 0;
while(true)
{
Console.WriteLine(k);
if (k == 100) break; //如果if语句后面只有一条语句的时候,大括号可以省略
//break跳出当前整个循环; continue跳出当前这一次循环,还会进入下一个循环
k++;
}
输入整数n,计算1+2+3+5+6+……+n的和
Console.Write("请输入一个整数n:");
int n = Convert.ToInt32(Console.ReadLine());
int sum = 0;
for(int i = 1; i <=n; i++)
{
Console.WriteLine(i);
sum += i;
}
Console.WriteLine("sum={0}",sum);
输出1-100之间的所有的偶数
int i = 1;
int num = 0;
while (i<101)
{
if (i % 2 == 0)
{
Console.WriteLine(i);
}
else if (num == i + 1)
{
Console.WriteLine(num);continue;
}
i++;
}
3n+1
Console.WriteLine("请输入一个大于1的自然数:");
int i = Convert.ToInt32(Console.ReadLine());
int num = 0;
while (i != 1)
{
if (i % 2 == 0)
{
i = i / 2;
}
else
{
i = 3 * i + 1;
}
num++;
}
Console.WriteLine("变换的次数为:{0}", num);
Console.Write("输入学生的个数:");
int i = Convert.ToInt32(Console.ReadLine());
int n = 1;
double sum = 0;
double average = 0;
Console.WriteLine("输入学生年龄:");
while(n<i+1)
{
int age = Convert.ToInt32(Console.ReadLine());
sum += age;
n++;
// Console.WriteLine(sum);
}
average = sum / i ;
// Console.WriteLine(Math.Round(average, 2));
Console.WriteLine("学生的平均年龄为:{0}", Math.Round(average, 2));
//输入两个正整数n和m,计算n和m之间(包括n和m)所有能被17整除的数的和,并输出和
Console.WriteLine("请输入第一个正整数:");
int n=Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入第二个正整数:");
int m = Convert.ToInt32(Console.ReadLine());
int sum = 1;
if (n > m)
{
for (int i = m; i < n + 1; i++)
{
if (i % 17 == 0)
{
sum += i;
}
else if (n < m)
{
for (int j = n; j < m + 1; j++)
{
if (j % 17 == 0)
{
sum += j;
}
}
}
}
}
Console.WriteLine(sum);
do...while循环 多执行一次
int k = 0;
do
{
Console.WriteLine(1);
k++;
}
while (k < 10); //先执行,再判断
}
计算a的n次方
Console.WriteLine("请输入第一个正整数:");
int a = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入第一个正整数:");
int n = Convert.ToInt32(Console.ReadLine());
int sum = 1;
int i = 1; //等于1就不会多执行一次
do
{
sum *= a;
i++;
}
while (i <= n); //执行了多少次
Console.WriteLine(sum);
Console.WriteLine("输入球的初始高度:");
int h = Convert.ToInt32(Console.ReadLine());
int i = 1;
double hig = h;
double sum = 0 ;
do
{
hig = hig/2;
i++;
sum += 3*hig;
Console.WriteLine(hig);
}
while (i <= 10);
Console.WriteLine(sum);
Console.WriteLine("输出100-999之间的水仙花数");
for (int i = 100; i <= 999; i++)
{
int bai = i / 100;
int shi = i % 100 / 10;
int ge = i % 10;
if ((bai * bai * bai + shi * shi * shi + ge * ge * ge) == i)
{
Console.WriteLine(i);
}
}
输出n层*的三角形
Console.WriteLine("输入三角形的层数:");
int n =Convert.ToInt32(Console.ReadLine());
//两层循环,外层循环n层,里面循环再循环每一层要输出的*
for(int i=1; i<=n;i++) //控制层数 i值当前行号(层数)
{
for(int j=1; j<=i; j++) //输出每一层* *的个数等于当前的行号
{
Console.Write("*"); //输出每一层的*
}
Console.WriteLine(); //输出完一行后要进行换行的操作
}
输出n层的等腰三角形
int n = Convert.ToInt32(Console.ReadLine());
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= n-i; j++)
{
Console.Write(" ");
}
for (int k = 1; k <= (2 * i - 1); k++)
{
Console.Write("*");
}
Console.WriteLine(); //换行