顺序结构选择结构if结构使用goto 允许玩5次 猜打了或者猜小了 猜对了 对应的提示 不合法输入的提示 不在1-100的提示Random rnd new(); int randomNumber rnd.Next(1, 101); int count 0; Console.WriteLine(欢迎来到猜字游戏允许玩家玩5次); Console.WriteLine(randomNumber); InputNumber: if (count 5) { Console.WriteLine(你5次机会已用完); return; } Console.Write(请输入数字); string? inputNumber Console.ReadLine(); if (!int.TryParse(inputNumber, out int number)) { Console.WriteLine(输入格式错误,请输入数字); goto InputNumber; } if (number 1 || number 100) { Console.WriteLine(输入数字不在范围请输入1-100数字); goto InputNumber; } if (number randomNumber) { Console.WriteLine(猜大了); count; Console.WriteLine($你还有{5 - count}次机会); goto InputNumber; } else if (number randomNumber) { Console.WriteLine(猜小了); count; Console.WriteLine($你还有{5 - count}次机会); goto InputNumber; } else { Console.WriteLine(猜对了); }switch结构要求用户输入一个年份和月份1-12然后输出该月的天数考虑闰年Console.Write(请输入年份); if (!int.TryParse(Console.ReadLine(), out int year) || year 1) { Console.WriteLine(年份输入无效); return; } Console.Write(请输入月份1-12); if(!int.TryParse(Console.ReadLine(), out int month) || month 1 || month 12) { Console.WriteLine(年份输入无效); return; } int days; switch (month) { case 4: case 6: case 9: case 11: days 30 ; break; case 2: bool isLeep (year % 4 0 year % 100 ! 0) || (year % 400 0); days isLeep ? 29 : 28; break; default: days31; break; } Console.WriteLine(${year}年{month}月有{days}天);用户输入两个数字判断两个数的大小并输出较大的数字Console.Write(请输入第一个数字: ); if(!int.TryParse(Console.ReadLine(),out int num1)) { Console.WriteLine(输入格式错误请输入第一个数字); return; } Console.Write(请输入第二个数字: ); if (!int.TryParse(Console.ReadLine(), out int num2)) { Console.WriteLine(输入格式错误请输入第二个数字); return; }// 使用 switch 语句判断较大数字 switch (num1 num2) { case true: Console.WriteLine($较大的数字是: {num1}); break; case false: Console.WriteLine($较大的数字是: {num2}); break; default: Console.WriteLine($两者相等均为{num1}); break; }循环结构for循环计算0-100之间的奇数和、偶数和int sumOdd 0; int sumEven 0; for (int i 1; i 100; i 2) sumOdd i; for (int i 0; i 100; i 2) sumEven i; Console.WriteLine($奇数和为{sumOdd},偶数和为{sumEven});获取100之间能够被5整除的所有的数for (int i 5; i 100; i 5) Console.WriteLine(${i}能被5整除);计算10 * 9 * 8 ... *1的结果StringBuilder sb new StringBuilder(); int factorial 1; for (int i 10; i 1; i--) { factorial * i; sb.Append(i);//拼接数字 //不是最后一位就加乘号 if (i 1) { sb.Append(*); } } Console.WriteLine(${sb}{factorial});求 1 - 1000 以内所有的完美数除自身以外所有因子之和等于这个数就是完美数。StringBuilder sb new(); for (int i 1; i 1000; i) { int sum 0; int sqrt(int)Math.Sqrt(i); for (int j 1; j sqrt; j) { if (i % j 0) { int factor i / j; sum j;//加上小因数 if (factor ! j factor ! i)//避免重复加平方根和自身 { sum factor; } } } if (sum i) { sb.Append(${i} ); } } Console.WriteLine($1-1000之间的完美数是{sb});while循环目标是搬砖500个第一次搬砖1个后面因为更加熟练每次递增一倍1、2、4、8、16.32 64 128 256.., 搬砖500个需要多少次int total 0; int times 0; int brick 1;//第一次搬1个 while (total 500) { total brick; times; brick * 2;//数量翻倍 } Console.WriteLine($搬够500个砖一共需要{total});有一个学校现在有8个人每年学院增长23%几年后学员可以达到100人int years 0; double people 8; double rate 1.23; while (people 100) { people * rate; years; } Console.WriteLine($需要{years}年学员人数可以达到100人);用户输入10个数字计算10个数字的总和、平均值int count 1; double sum 0; while (count 10) { Console.Write($请输入第{count}数字); string? input Console.ReadLine(); //输入合法才累加 if (!double.TryParse(input, out double num)) { Console.WriteLine(输入格式错误请输入数字); } else { sum num; count; } } //计算平均值 double avg sum / 10; Console.WriteLine($总和为{sum}); Console.WriteLine($平均数为{avg:F2});让用户输入一系列数字直到用户输入 0 为止。然后程序计算这些数字的平均值并输出double sum 0; int count 0; while (true) { Console.WriteLine(请输入数字(输入0结束)); string? input Console.ReadLine(); if (!double.TryParse(input, out double number)) { Console.WriteLine(输入格式错误请输入数字); continue; } if (number 0) break; sum number; count; } if (count 0) { Console.WriteLine(未输入任何有效数字无法计算平均值); } else { Console.WriteLine($总和:{sum:F2}); Console.WriteLine($平均值:{sum / count:F2}); }使用 while 循环判断用户输入的数字是否为素数。素数是指只能被 1 和它本身整除的数字。while (true) { bool isPrime true; Console.Write(请输入一个数字(输入非数字退出)); string? input Console.ReadLine(); if (!int.TryParse(input, out int num)) { Console.WriteLine(输入无效程序结束); break; } if (num 2) { isPrime false; } else { int i 2; while (i * i num) { if (num % i 0) { isPrime false; break; } i; } } Console.WriteLine(isPrime ? ${num}是素数\n : ${num}不是素数\n); }3个可乐瓶可以换一瓶可乐现在有364瓶可乐。问一共可以喝多少瓶可乐剩下几个空瓶?//空瓶 int num 364; //剩余的空瓶 int coke 0; //喝了多少瓶 int drink 364; while (num 3) { num (num coke) / 3; coke (num coke) % 3; drink num; } Console.WriteLine($喝了{drink}瓶剩余{numcoke}个空瓶子);do...while循环(使用do while) 用户输入一个正整数 n程序输出斐波那契数列的前 n 项int a 1, b 1; int i 0; int n; do { Console.WriteLine(请输入一个正整数n); } while (!int.TryParse(Console.ReadLine(), out n) || n 0); do { Console.Write(a ); int t a b; a b; b t; i; } while (i n);