VR引擎程序设计基础 第二天课下

108 阅读1分钟

while循环、死循环、有限循环

死循环 判断条件一直为真

             {
                 Console.WriteLine(1);
             }

有限循环 我怎么控制循环次数 只需要让判断条件有一天变为假

i=1 i<10 => i++ 有一天i就会大于等于10 增量表达式

i=19 i>=10 => i-- 有一天i就会小于10

            while (i > 2)
            {
                Console.WriteLine(i);
                i--;//循环8次
            

输入整数n,计算1+2+3+4+...+n的和

int n = Convert.ToInt32(Console.ReadLine());
             int j = 1;
             int sum = 0;
             while (j <= n){
                 sum += j;
                 j++;
             }
             Console.WriteLine(sum);

image.png

输出1-100之间的所有偶数

int i = 1;
            while (i <= 100)
            {
                if (i % 2 == 0)
                {
                    Console.WriteLine(i);
                }
                i++;
            }

image.png

3n+1的问题

Console.WriteLine("请输入任意大于1的自然数:");
            int n = Convert.ToInt32(Console.ReadLine());
            int sum = 0;
            while (n != 1)
            {
                if (n % 2 == 1)
                {
                    n = 3 * n + 1;
                }
                else
                {
                    
                    n = n / 2;//  n/=2
                }
                sum++;
            }
            Console.WriteLine(sum);

image.png

输入学生的个数 算学生的平均年龄

Console.WriteLine("请输入学生的个数:");
            int num = Convert.ToInt32(Console.ReadLine());
            double average = 0;
            double sum = 0.0;
            while (num > 0)
            {
                Console.WriteLine("请输入学生的年龄:");
                int age = Convert.ToInt32(Console.ReadLine());
                sum += age;
                num--;
            }
            average = (sum * 0.1 / num);
            Console.Write(Math.Round(average, 2));
        }

for循环

for(初始化;判断条件;增量表达式)
        {
            循环体
        }*/

        /* int num3 = 1;
         for (; num3 < 5; num3++)
         {
             Console.WriteLine(num3);
         }
Console.WriteLine("请输入n:");
            int n = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入m:");
            int m = Convert.ToInt32(Console.ReadLine());
            int sum = 0;
            int n1 = n;
            if (n > m)//做一个值的交换 保证n是最小的
            {
                n = m;
                m = n1;

            }
            for (int i = n; i <= m; i++)
            {
                if (i % 17 == 0)
                {
                    sum += i;
                }
            }
            Console.WriteLine(sum);

image.png

do...while 循环 先执行,do中语句然后再循环

int num7 = 11;
            do  //不管后面while循环的条件满不满足都会先执行一次
            {
                // Console.WriteLine(num7);
                num7++;
            } while (num7 < 10);
            Console.WriteLine(num7);

例 输入一个整数a,和一个正整数n,计算乘方a的n次方

Console.WriteLine("请输入整数a:");
            int a = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入正整数n:");
            int n = Convert.ToInt32(Console.ReadLine());
            int sum = 1;
            do
            {
                sum *= a;
                n--;
            } while (n > 0);
            Console.WriteLine(sum);

image.png

break跳出整个循环 continue跳出当前这一次

Console.WriteLine("请输入下落的高度:");
            double high = Convert.ToDouble(Console.ReadLine());
            double count = 0;//经过的长度
            for (int i = 1; i <= 10; i++)//直接循环10次
            {
                count = high + count;//开始的高度 落地的距离
                high = high / 2;//落地反弹回来的高度
                count = count + high;//加上返单回来的高度 这是一堂
            }
            Console.WriteLine("反弹的高度为{0}米,经过{1}米", high, count);

image.png

编写一个程序,打印出所有的“水仙花数”

int a, b, c, d;
            for (d = 100; d <= 999; d++)
            {
                a = d / 100;
                b = d / 10 % 10;
                c = d % 10;
                if (a * a * a + b * b * b + c * c * c == d)
                {
                    Console.WriteLine("水仙花数为{0}:", d);
                }
            }

image.png