新闻详情

新闻详情

首页 / 资讯中心 / 详情

C#经典编程100道——流程控制(持续更新中)

发布时间:2026/9/26 8:04:57来源:尧图网络
C#经典编程100道——流程控制(持续更新中)
顺序结构选择结构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);
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Windows下MinGW编译PCL全流程:从依赖库到Qt点云可视化 2026/9/26 8:52:32

Windows下MinGW编译PCL全流程:从依赖库到Qt点云可视化

简介:基于Qt的MinGW编译点云库及其全部依赖库的完整资源包,面向在Windows环境下使用MinGW工具链从事三维点云开发的C工程师。资源解决了PCL在Qt环境中编译时依赖库难以配齐的问题,提供了Boost、Eigen、FLANN、Qhull、VTK等底层库的头文件与编…

阅读更多 →
SVG图标实战指南:从选型、压缩到版权与兼容性避坑 2026/9/26 8:52:32

SVG图标实战指南:从选型、压缩到版权与兼容性避坑

1. 为什么现在还在用PNG做图标?SVG才是现代UI的底层基建你有没有遇到过这样的情况:在给一个响应式网站加图标时,设计师扔过来一套PNG,结果在Retina屏上糊成一片;或者想改个颜色,得重新切图、换资源、清缓存…

阅读更多 →
大型制造企业MES建设方案:可落地的排产、追溯与缺陷闭环 2026/9/26 8:52:32

大型制造企业MES建设方案:可落地的排产、追溯与缺陷闭环

简介:本资源是一份面向大型制造企业信息化建设者的MES(制造执行系统)全周期建设方案,聚焦生产计划排产、执行反馈、ERP集成及现场工控协同等核心场景,解决多系统集成难、排产灵活性不足、过程透明度低等典型痛点。文档…

阅读更多 →
金融级系统设计:从确定性、合规性到可审计性的工程实践 2026/9/26 8:52:25

金融级系统设计:从确定性、合规性到可审计性的工程实践

1. 项目概述:这不是一个“服务”,而是一套可落地的金融业务支撑体系“financial-services”这个标题乍看像一个宽泛的行业分类词,甚至可能被误认为是某家银行官网的导航栏标签。但在我过去十年跑遍全国27个省市、参与过43个金融类系统交付项目…

阅读更多 →
腾讯数字人+大模型知识引擎:RAG架构与向量数据库实战指南 2026/9/26 8:52:25

腾讯数字人+大模型知识引擎:RAG架构与向量数据库实战指南

数字人这两年从“能说会动的噱头”一路卷到“能办事、能答疑、能带货”的生产力工具,我前后跟过几个落地项目,踩过的坑基本都集中在两块:形象驱动做得再顺,脑子不够用照样翻车;知识库塞得再多,检索召回拉胯…

阅读更多 →
腾讯数字人与大模型知识引擎:企业级AIGC落地实战与RAG调优指南 2026/9/26 8:52:25

腾讯数字人与大模型知识引擎:企业级AIGC落地实战与RAG调优指南

1. 从两个产品名说起:数字人和知识引擎到底在解决什么问题 第一次看到“腾讯数字人与大模型知识引擎产品概要”这个标题,很多人会下意识觉得这是两份产品说明书的拼接。但真正在企业服务一线待过的人会明白,这两个东西放在一起讲,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉