首页/新闻资讯/正文详情

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

发布时间:2026/9/26 8:04:52 来源:云帆数科 栏目:资讯中心
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);

相关推荐

@ariakit/solid-components 0.1.0 至 0.1.8 演进解读:Solid 无障碍组件包的 API 扩展与实现细节
@ariakit/solid-components 0.1.0 至 0.1.8 演进解读:Solid 无障碍组件包的 API 扩展与实现细节

UI组件前端 【免费下载链接】ariakit Toolkit with accessible components, styles, and examples for your next web app 项目地址: https://gitcode.com/gh_mirrors/ar/ariakit 点击查看 免费下载 ariakit/solid-components 是 Ariakit 面向 Solid 生态的低阶无障… · 2026/9/26 8:04:46

Nano Banana 2.5实战:三档Thinking与4K输出,从API接入到视频修复
Nano Banana 2.5实战:三档Thinking与4K输出,从API接入到视频修复

Nano Banana 2.5 的曝光消息一出来,讨论最热闹的就是三个点:三档 Thinking、4K 输出、PixTV 即将接入。我在这条产品线刚有苗头的时候就开始跟进,自己也一直在做视频物料相关的 AI 生产,这次想结合能确认到的信息,以及… · 2026/9/26 8:04:46

棉花病害检测数据集实战:YOLO标注格式解析与训练避坑指南
棉花病害检测数据集实战:YOLO标注格式解析与训练避坑指南

简介:这份棉花植物病害图像目标检测数据集面向从事农业视觉检测、YOLO 系列模型训练与改进的开发者及学生,提供可直接投入训练的真实标注样本。数据覆盖枯萎病、卷曲、灰霉、健康叶片、叶斑病等 6 个类别,标签采用 YOLO 通用格式,… · 2026/9/26 8:04:46

OCR识别与条码预处理技术实践指南
OCR识别与条码预处理技术实践指南

我无法根据您提供的输入内容生成符合要求的博文。 原因如下: 项目正文为空,关键词为空,摘要描述为空; 所有可用信息仅剩标题“清雨剑挑码助手2015资源下载:提升工作效率的强大助手”及热搜词“清雨剑挑码助手2015”… · 2026/9/26 8:45:49

Cortex 多实例类型集群配置指南:混合 CPU/GPU/Inferentia 节点组与 Spot 优先级最佳实践
Cortex 多实例类型集群配置指南:混合 CPU/GPU/Inferentia 节点组与 Spot 优先级最佳实践

后端云原生模型推理服务MLOps人工智能 【免费下载链接】cortex Production infrastructure for machine learning at scale 项目地址: https://gitcode.com/gh_mirrors/co/cortex 点击查看 免费下载 导读 Cortex 允许在同一集群中配置多个不同规格、不同计费模式&… · 2026/9/26 8:45:49

Atlas 300V 24G NPU推理卡实战:从YOLO模型转换到部署调优
Atlas 300V 24G NPU推理卡实战:从YOLO模型转换到部署调优

前几天私信里又蹦出一条问题:“Atlas 300V 24G 是不是运算加速卡?我想用它跑YOLO做目标检测,能不能像GPU那样直接开干?”这个问题我最近已经回答过好几轮了。不怪大家问,Atlas这个名字在AI硬件圈出现的频率越来越高&am… · 2026/9/26 8:45:49

体育馆预约平台源码拆解:SpringBoot+Vue+MyBatis企业级实现
体育馆预约平台源码拆解:SpringBoot+Vue+MyBatis企业级实现

企业级体育馆预约平台源码拆解:从业务模型到落地实践如果你在学校体育馆、商业球馆或者单位文体中心待过,一定见过这样的场景:高峰期场地被挤爆,空闲时段却空着没人来;前台电话被预约咨询打到占线;几个人同… · 2026/9/26 8:45:49

Agent技能库实战:从巨型Prompt到可加载能力单元的设计与落地
Agent技能库实战:从巨型Prompt到可加载能力单元的设计与落地

做Agent应用做得多了,你会发现一个很扎心的规律:项目前期最耗时的往往不是写代码,而是“调那个越来越长的Prompt”。今天能回答,明天答非所问,加一个功能就要在系统提示词里再叠一段,最后连自己都分不清哪条… · 2026/9/26 8:45:49

Unity图集优化实战:从DrawCall原理到Sprite Atlas踩坑指南
Unity图集优化实战:从DrawCall原理到Sprite Atlas踩坑指南

atlas这个词,第一次跑进我的Unity工程,是在一个特别普通的下午。项目在低端测试机上跑得磕磕绊绊,UI界面一跳到战斗结算,FPS直接掉到20出头,Profiler面板里DrawCall的数字红得刺眼。后来定位到罪魁祸首——十几个散装小… · 2026/9/26 8:45:43

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码