C#第三节

113 阅读2分钟

//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

3811d714d84844ef8ae408088563a3e4_tplv-k3u1fbpfcp-zoom-in-crop-mark_3024_0_0_0.webp

        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);
        
        
        
        

a94169d2617f449f8f60be12b6040621_tplv-k3u1fbpfcp-zoom-in-crop-mark_3024_0_0_0.webp

1bc51d06ff7b4c1187f85d659de01b72_tplv-k3u1fbpfcp-zoom-in-crop-mark_3024_0_0_0.webp

                   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);
       
       
       

QIU.webp

                    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);
                    
                    
                    

HUA.webp

                   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层*的三角形

SJX.webp

                    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层的等腰三角形

DYAIO.webp

        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(); //换行