vr引擎第四次课笔记

107 阅读1分钟

while循环

        while(循环判断的条件)如果为真就会继续循环
        {
            循环体;
        }
        //死循环
        while(true)
        {
            Console.WriterLine(1);
        }

想要控制循环的次数 只要让循环条件一开始为真,进行改变,有一次为假

中间变量 来控制循环的条件

 int i = 1;
        while (i < 10)
        {
            Console.WriterLine(i);//i的值从1变成10
                                  //让i增加  才有可能为假
        }

练习1

image.png

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

练习2 输出1-100的所有偶数

image.png

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

        }            
        

练习三 记录次数

image.png

        int count = 0;
        int n = Convert.ToInt32(Console.ReadLine());
        while (n != 1)
        {
            if (n % 2 != 0)
            {
                n = 3 * n + 1;
            }
            else
            {
                n = n / 2;
            }
            count++;
            Console.WriteLine(count);
        

double

   double num = 1.24567;
   Console.WriteLine(num.ToString("000"));
   

练习

image.png

Console.WriteLine("请输入学生的个数");
        int n=Convert.ToInt32(Console.ReadLine());
        int k = n;
        int sum = 0;
        while (n > 0)
        {
            sum=Convert.ToInt32(Console.ReadLine());
            n--;//假设n是4
        }
        double averange = (sum * 1.0) / k;//两个整数相除不管整不整除结果都是整数


        Console.WriteLine(averange.ToString("0.00"));
        

for循环

 for(初始值;表达式;增量表达式)
         {
        循环体
        }
        
 
        for(; ; )//表示死循环
        {
            Console.WriteLine(1);
        }

        for (int i = 1; i < 10; i++)//1-9
        {
            Console.WriteLine(i);
        }
        
        
        int i = 1;
        for (; i < 10; i++)
        {
            Console.WriteLine(i);//1-10
        }
        Console.WriteLine(i);
        
          int i = 1;
        for (; i < 10; i++)
        {
            Console.WriteLine(i);//1-10   break 跳出循环  continu跳出当前这一次循环继续进入下一次循环
            continue;
        }
        Console.WriteLine(i);
        
        

练习 输入两个正整数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 = 0;
        Console.WriteLine("\n");
        for (; n < m; n++)
        {
            if (n % 17 == 0)
            {
                Console.WriteLine(n);
                sum += n;
            }

        }
        Console.WriteLine(sum);
        

do....while循环

 do{
    //循环体
   }while(条件表达式);
   
       int num1 = 0;
        do
        { //不管循环条件是否为真,一定会执行一次
            Console.WriteLine(num1);
            num1++;
        } while (num1 < 10);
        
        

练习 输入一个整数a,再输入一个正整数n,求a的n次方

        Console.WriteLine("请输入一个整数a");
         int a=Convert.ToInt32(Console.ReadLine());
         Console.WriteLine("请输入一个正整数n");
         int n = Convert.ToInt32(Console.ReadLine());//n=2  a*a n=3 a*a*a
         int multiply = 1;
         for(int i=1;i<=n;i++)
         {
             multiply *=a;
         }
         Console.WriteLine(multiply);

练习 球落地

        double height = Convert.ToDouble(Console.ReadLine());
        double road = 0;
        int i = 1;
        while (i <= 10)
        {
            height /= 2;
            road += height * 3;//
            i++;
        }
     
        Console.WriteLine("反弹{0}经过{1}米",height,road);