3-25

2021-03-25 20:43发布

           #region while循环

             *

             * 语法结构

             * while(bool类型表达式)

             * {

             *    循环执行的代码;

             * }

             * 执行流程:首先执行bool类型表达式,如果成立那么执行while大括号中的代码,count叫做循环增量,while中的代码叫做循环体。

             * 

              打印1-100之间的数并输出

              int count=0,sum=0;

              while (count<=100)

              {

                  sum += count;

                  count++;

                  Console.WriteLine(count);


              }

              练习:从控制台输入一个正整数,并进行反转,输出反转之后的结果987 789

              Console.WriteLine("请输入一个正整数:");

              int a = int.Parse(Console.ReadLine());

              int b = 1;

              int c = 0;

              int sum = 0;


              while (a%b!=a)

              {

                  c = a   b;

                  b = b * 10;

                  sum = sum * 10 + c % 10;

              }

              Console.WriteLine(sum);

              break关键字,结束循环体继续执行循环后面的代码,通常和if使用。

              int monsterHp = 100;

              while (monsterHp>0)

              {

                  monsterHp -= 10;

                  Console.WriteLine(monsterHp);

                    当怪物血量不高于50时进行秒杀

                  if (monsterHp<=50)

                  {


                      Console.WriteLine("怪物被斩杀了");

                      break;

                  }

              }

              continue,遇到该关键字结束本轮循环,继续下一轮循环。

              int monsterHp = 100;

              while (monsterHp>0)

              {

                  if (monsterHp==50)

                  {

                      monsterHp -= 1;

                      continue;

                  }

                  monsterHp -= 10;

              }

            #endregion

            #region do...while循环

             *

             * 语法格式:

             * do

             * {

             *    循环体;

             * }while(bool类型表达式);

             * 无论条件满不满足循环体都会执行一次,然后在判断bool表达式是否成立,成立继续执行循环,否则跳出。

             * 

              int count = -1;

              do

              {

                  Console.WriteLine("干饭");

                  count++;

              } while (count>0);

              练习:sum=1+2+3+4+。。。。+n,求sum不超过10000的最大整数数值和当前N的值

              int sum = 0;

              int n = 1;

              do

              {

                  sum += n;

                    Console.WriteLine(n);

                    Console.WriteLine(sum);

                  n++;

              } while (sum<=10000);

              sum = sum - n+1;

              n = n - 2;

              Console.WriteLine("{0} {1}",sum,n);

            #endregion

            #region for循环

             *

             * 语法结构:

             * for(循环变量初始化;循环条件;循环变量变化)

             * {

             *    循环体;

             * }

             * 1.先执行循环变量初始化

             * 2.执行循环条件,如果条件成立执行循环体,否则结束循环

             * 3.执行完循环体后执行循环变量的变化

             * 4.循环变量变化之后返回第二步

             * 

              int sum = 0;

              for (int i = 1; i <= 100; i++)

              {

                  Console.Write("{0,-5}",i);

                  sum += i;

              }

              Console.WriteLine();

              Console.WriteLine(sum);

              Console.WriteLine("请输入数字:");

              string str1 = Console.ReadLine();

              for (int j = 0; j < str1.Length; j++)

              {

                  Console.Write(str1[str1.Length-1-j]);

              }

              Console.WriteLine();

              for (int i = 0; i <= 100; i++)

              {

                  if (i%7!=0&&i 10!=7&&1%10!=7)

                  {

                      Console.Write("{0,-4}",i);

                  }

              }

              Console.WriteLine();

              int sum = 0;

              for (int j = 0; j < 50; j++)

              {

                  if (j%2==0)

                  {

                      sum =sum+(2*j+1);

                  }

                  else

                  {

                      sum =sum-(2*j+1);

                  }

              }

              Console.WriteLine(sum);

             *

             * 循环嵌套

             * 

              外层循环控制的行数

              for (int i = 0; i < 3; i++)

              {

                    j=0 i<2

                    j=1 i<3

                    j=2 i<4

                    内层循环控制的列数

                  for (int j = 1; j < i+2; j++)

                  {

                      Console.Write(j + " ");

                  }

                    内层循环执行打印123完毕后 执行换行操作

                  Console.WriteLine();

              }

              for (int i = 1; i < 10; i++)

              {

                  for (int j = 1; j < i+1; j++)

                  {

                      Console.Write("{0}×{1}={2,-5}  ",j,i,i*j);

                  }

                  Console.WriteLine();

              }

            #endregion

            #region 一维数组

             *

             * 数组:相同数据类型的成员组成的一组数据。也就是说数组中的每个数据类型一样。数组中的每一个数据都叫一个元素。

             * 一维数据的声明:数据类型名[]数组名

             * 

             *

             * 数组的初始化:动态初始化和静态初始化

             * 1.第一种动态初始化

             *    数据类型名[] 数据名 = new 数据类型名[数组的长度];

             *    数组类型的数组,元素默认值是0;

             *    布尔类型的数据,默认值是false;

             *    字符串类型的数据,默认值是null;

             *2.第二种动态初始化

             * 数据类型[] 数组名 = new 数据类型[数组长度]{元素1,元素2};

             *3.第三种动态初始化

             * 数据类型[] 数组名 = new 数据类型[]{元素1,元素2};

             * 数组的长度由给定的元素个数来决定。

             * 

             *4.静态初始化

             * 数据类型[] 数组名 = {元素1,元素2,元素3};

             * 

                第一种动态初始化

              int[] scores = new int[] { };

                第二种动态初始化

              int[] ages = new int[5] { 18, 20, 21, 19, 30 };

                静态初始化数组

              int[] levels = {0,99,100,888,999 };

             *

             * 数值的访问,数组中元素的索引是从0开始的,如果一个数据有3个元素,那么访问方式为array[0]为第一个元素,array[1]为第二个元素,array[2]是第三个元素。如果索引超出数组长度,抛出异常组越界。

             * 

              修改指定下标对应的元素值

              levels[0] = 10;

              int[] intArr = {2,3,5,7,11,13,17 };

              int sum = 0;

              for (int i = 7; i>0; i--)

              {

                  sum += intArr[i - 1];

                  Console.WriteLine(intArr[i-1]);

              }

              Console.WriteLine("所有元素的和为:{0}",sum);

              int intArrMax = intArr[0];

              int intArrMin = intArr[0];

              for (int j = 0; j < intArr.Length; j++)

              {

                  if (intArr[j]>intArrMax)

                  {

                      intArrMax = intArr[j];

                  }

                  if (intArr[j]<intArrMin)

                  {

                      intArrMin = intArr[j];

                  }

              }

              Console.WriteLine("最大值为:{0},最小值为:{1}",intArrMax,intArrMin);

            int[] intArr = new int[5] {1,2,3,4,5 };

            int[] intBrr = {6,7,8,9,10 };

            int sumA = 0,sumB = 0;

            for (int i = 0; i < 5; i++)

            {

                sumA += intArr[i];

                sumB += intBrr[i];

            }

            Console.WriteLine("数组A的和为:{0},数组B的和为:{1}",sumA,sumB);

            int[]intCrr = new int [5];

            for (int j = 0; j < 5; j++)

            {

                intCrr[j] = intArr[j] + intBrr[j];

                Console.WriteLine(intCrr[j]);

            }

            int[] intDrr = new int[5];

            Console.WriteLine("数组D复制数组A:");

            for (int k = 0; k < 5; k++)

            {

                intDrr[k] = intArr[k];

                Console.WriteLine(intDrr[k]);

            }

            #endregion