第三节课 0927

121 阅读2分钟

一.循环语句

1.while语句

while (循环的判断条件) 如果为真就进入循环体,直到为假跳出循环。

2.求1+2+3+...+n的和

            int num2 = 1;
            int sum = 0;
            while (num2 <= num1)
            {
                sum +=num2;
                num2++;
            }
            Console.WriteLine(sum);

3.输出0-100的偶数

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

4.奇数3a+1 偶数n/2 输出循环次数

            int num2 = 0;
            while (true)
            {
                
                if (1 == num1 % 2)
                {
                    num1 = num1 * 3 + 1;
                }
                else if (0 == num1 % 2)
                {
                    num1 = num1 / 2;
                }
                num2++;
                if (1 == num1) break;
            }
            Console.WriteLine(num2);

二.for循环

1.for (int i=0; i<10 ;i++ ) // 初始化变量;表达式判断条件;增量表达式 如果中间表达式没有写就表示一直为真。

变量i先在局部作用域中查找,没找到就往外查找,直到找到他

2.计算2个数之间被17整除的数的和

              int n = Convert.ToInt32(Console.ReadLine());
              //输入一个数
              int m = Convert.ToInt32(Console.ReadLine());
              int t = 0;
              int sum = 0;
              //比较大小,使得n永远小于m
              if (m < n)
              {
                  t = m;
                  m = n;
                  n = t;
              }
              // 循环判断n到m中被17整除的和
              for (int num = n; num <= m; num++)
              {
                  if (0 == num % 17)
                  {
                      sum += num;
                  }
              }
              //输出和
              Console.WriteLine(sum);

3.输入一个整数a,和一个整数n,计算a的n次方

             int num2 = Convert.ToInt32(Console.ReadLine()); // 输入n
             int sum = 1; 
             for (int i = 0; i < num2; i++)//循环次方
             {
                 sum *= num1;
             }
             Console.WriteLine(sum);

4.水仙花数

             {
                 int h = i / 100; //取得百位数
                 int g = i % 10; //取得个位数

                 int s = 0;
                 int s1 = i % 100;
                 s = s1 / 10;  //取得十位数
                 if (i==h*h*h+g*g*g+s*s*s) //水仙花数
                 {
                     Console.WriteLine(i+"是水仙花数");
                 }

5.输出三角形

            for (int i = 1; i <= num1; i++)
            {
                for (int j = 1; j <= i; j++)
                {
                    Console.Write("*");
                }
                Console.WriteLine("\n");
            }

6.输出等腰三角形

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

三.do while语句

do while循环 比正常的while循环多执行一次,无论条件真假,都会执行一次,先执行,后判断。

            do
            {
                Console.WriteLine(1);
                k++;
            } while (k < 10);  //先执行,再判断