2022.9.26下午 VR第二次笔记

110 阅读2分钟

8while循环

while (turn) {
                循环体;
            }

练习1 计算前N数的和

int a = Convert.ToInt32(Console.ReadLine());
            int b = 1;
            int sum = 0;
            while (b <= a) {
                sum = sum + b;
                b++;
            }
            Console.WriteLine("和为{0}",sum);

练习2 输出前100中偶数

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

练习3 3n+1问题

            Console.WriteLine("请输入一个大于1的数");
            int a = Convert.ToInt32(Console.ReadLine());
            int sum = 0;
            while (a != 1)
            {
                if (a % 2 == 0)
                {
                    a = a / 2;
                    sum += 1;
                }
                else
                {
                    a = 3 * a + 1;
                    sum += 1;
                }
            }
            Console.WriteLine(" 变换的次数为{0}",sum);

练习四 输出学生的平均成绩

             Console.WriteLine("请输入学生的个数");
            int  a = Convert.ToInt32(Console.ReadLine());
            int b = 1;
            double sum = 0.0;
            while (b <= a)
            {
                Console.WriteLine("请输入第{0}同学年龄",b);
                int  c = Convert.ToInt32(Console.ReadLine());
                sum += c;
                b += 1;
            }
            sum = sum / a;
            Console.WriteLine("这{0}同学的平均分为{1}",a,Math.Round(sum,2));

9 for 循环

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

练习输出两个数之间可以被17整除的数的和

           Console.WriteLine("请输入正整数n");
            int a = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入正整数m");
            int b = Convert.ToInt32(Console.ReadLine());
            int sum = 0;
            int i = a;
            int c = b;
            if (a < b)
            {
                for (; i<= b; i++)
                {
                    if(i%17==0)
                    {
                        Console.WriteLine("{0}可以被17整除",i);
                        sum += i;
                    }
                }

            }
            else
            {
                for (;  c<= a; c++)
                {
                    if (c % 17 == 0)
                    {
                        Console.WriteLine("{0}可以被17整除", c);
                        sum += c;
                    }
                }
            }
            Console.WriteLine("{0}和{1}之间所以被17整除的数的和为{2}",a,b,sum);

10 do.....while()循环

           do {
                 循环体
              } while (条件);

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

            Console.WriteLine("请输入正整数a");
            int a = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入n次方");
            int b = Convert.ToInt32(Console.ReadLine());
            int i = 1;
            int sum = 1;
            do
            {
                sum=sum* a;
                i++;
               
            } while (i<=b);
            Console.WriteLine("{0}的{1}次方为{2}",a,b,sum);

练习

            Console.WriteLine("请输入球的初始高度");
            double  a = Convert.ToDouble(Console.ReadLine());
            double sum = 0;
            for (int i = 1; i <= 10; i++)
            {
                sum += a;
                a = a / 2;
                sum = sum + a;       
            }
            Console.WriteLine("经过了{0}米",sum);

练习 水仙花数

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


            }