C#学习day05(开发福彩双色球系统附思维导图)
1.删除数组中的元素接收要删除的元素的索引,将该索引后使用元素向前移一位,即覆盖该元素2.数组中元素反转1.从第一个元素开始和最后一个元素交换。2.然后把第二个元素和倒数第二个元素交换这样只需要交换数组名.length/2次就可以了3.定义一个中间变量实现两数交换如: char temp arr[i];arr[i] arr[arr.Length - 1 - i];arr[arr.Length - 1 - i] temp;数据类型根据数组中存储类型进行改变4.冒泡排序:排序介绍排序主要是针对数字类型进行的。常见的排序方式升序排序、降序排序。升序排序从小到大排列。降序排序从大到小排列。排序算法冒泡排序、快速排序、插入排序、选择排序等。每一种排序实现的方式又有所不同但是最终的结果都是一样的。区别在于时间和空间的不同。2.冒泡排序介绍冒泡排序实现思路和现实生活中水中吐泡泡一样。在水中吐泡泡以后会逐渐的往上升。3. 冒泡排序规则从脚标0的元素开始每两个元素依次进行比较。前一个元素大于后一个元素交换位置。前一个元素不大于后一个元素不交换位置。假设对一个数组中的元素进行升序排序3.1第一轮比较第一次比较脚标0和脚标15和25大于2交换元素的位置。第二次比较脚标1和脚标25和4比较5大于4, 交换元素的位置。第三次比较脚标2和脚标35和3比较5大于3交换元素位置。第四次比较脚标3和脚标45和1比较5大于1交换元素的位置。总结如果长度为Length的数组只需要比较4次。3.2第二轮比较第一次0脚标和1脚标比较2和4比较2不大于4不交换位置。第二次脚标1和脚标2比较4和3比较4大于3交换元素的位置。第三次脚标2和脚标3比较4和1比较4大于1交换元素的位置。总结本轮比较次数为3次。3.3 第三轮比较第一次脚标0和脚标1比较2和3比较2不大于3不交换位置。第二次脚标1和脚标2比较3和1比较3大于1交换元素的位置。总结本轮比较次数为2次。3.4 第四轮比较第一次脚标0和脚标1比较2和1比较2大于1交换元素的位置。总结本轮比较次数为1次。4. 冒泡排序总结4.1 比较的轮数每轮比较都会把本轮比较的最大小值移动到最后面最后剩下的为最大最小比较的轮数为数组长度-1轮。4.2 每轮比较次数假设当前是第i轮i从0开始的值1.第一轮i 0 需比较(length-1 ) - 0 次。之所以减1因为最后一次比较的是最后两个也就是说比较到倒数第二个就可以了。2. 第二轮i 1需要比较(length-1) - 1 次。因为本轮最后1个值不需要比较了。3. 第三轮i 2需要比较length-1- 2 次。因为本轮最后2个值不需要比较了。4. 第四轮i 3,需要比较length-1- 3 次。因为本轮最后3个值不需要比较了。只需要比较1次。5.当第i轮比较时比较的次数为length-1-i。5.多维数组多维数组的本质为数组中的每个元素依然为数组。创建多维数组//2 - 第一维长度//3 - 第二维长度int[,] ints new int[2, 3];6.双色球案列福彩双色球要求如下:福彩双色球由6位1到33的整数红球加1位1到16的整数蓝球组成。new int[5, 8] //最多购买5组每一组中有6个红球号码 1个蓝球号码 1个倍数开奖过程由一台机器完成。里面装有33个红球从33个红球里面随机出6个中奖号码产生的顺序并不是从小打到的。每个球的数字都是不重复的。最后从16个蓝球里面随机产生一个蓝球中奖号码。规则中最难的就是计算一等奖因为一等奖需要看奖金池总数还和累计奖金有关系。在这里我们设定一等奖固定500万元二等奖固定5万元。实现代码如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 福彩双色球系统{internal class Program{static void Main(string[] args){Console.WriteLine(“------------------------”);Console.WriteLine(“欢迎使用福彩双色球系统”);Console.WriteLine(“------------------------”);int[,] redBalls new int[5, 6];int[,] BlueBalls new int[5, 1];int[,] beiShu new int[5, 1];int[] winNumber new int[7];Random rnd new Random();bool[] states1 new bool[34];bool[] states new bool[34];int totalNumber1 0;bool b true, b1 true, b2 true;do{Console.WriteLine(“请选择你想进行的操作”);Console.WriteLine(“1.购买彩票”);Console.WriteLine(“2.查看购买彩票”);Console.WriteLine(“3.开奖”);Console.WriteLine(“4.查看中奖情况”);Console.WriteLine(“5.查看当期开奖号码”);Console.WriteLine(“6.退出系统”);string input Console.ReadLine();switch (input){case “1”:{if(b2 false){Console.WriteLine(“本期已经开奖不能再购买号码”);break;}while (b1){for (int i 0; i states.Length; i){states[i] true;} Console.WriteLine($这是您购买的第{totalNumber1 1}组号码); for (int i 0; i 6; i) { Console.WriteLine($请输入您要购买的第{i 1}个红球号码1-33); int redBallnumber Convert.ToInt32(Console.ReadLine()); while (redBallnumber 1 || redBallnumber 33) { Console.ForegroundColor ConsoleColor.Red; Console.WriteLine(红球号码必须是1-33之间的整数); Console.WriteLine(请重新输入); Console.ResetColor(); redBallnumber Convert.ToInt32(Console.ReadLine()); } if (states[redBallnumber] true) { redBalls[totalNumber1, i] redBallnumber; } else { Console.ForegroundColor ConsoleColor.Red; Console.WriteLine(该号码您之前已经选择过了); Console.WriteLine(请重新输入); Console.ResetColor(); i--; continue; } states[redBallnumber] false; } for (int i 0; i 6; i) { for (int j i 1; j 6; j) { if (redBalls[totalNumber1, i] redBalls[totalNumber1, j]) { int temp redBalls[totalNumber1, i]; redBalls[totalNumber1, i] redBalls[totalNumber1, j]; redBalls[totalNumber1, j] temp; } } } Console.WriteLine(请输入您要购买的蓝球号码1-16); BlueBalls[totalNumber1, 0] Convert.ToInt32(Console.ReadLine()); while (BlueBalls[totalNumber1, 0] 1 || BlueBalls[totalNumber1, 0] 16) { Console.WriteLine(蓝球号码必须是1-16之间的整数); Console.WriteLine(请重新输入); BlueBalls[totalNumber1, 0] Convert.ToInt32(Console.ReadLine()); } Console.WriteLine(请输入您要购买的倍数); beiShu[totalNumber1, 0] Convert.ToInt32(Console.ReadLine()); while (beiShu[totalNumber1, 0] 1 || beiShu[totalNumber1, 0] 99) { Console.WriteLine(倍数必须是1-99之间的整数); Console.WriteLine(请重新输入); beiShu[totalNumber1, 0] Convert.ToInt32(Console.ReadLine()); } Console.WriteLine(是否继续购买下一组号码(y/n)); string continuePurchase Console.ReadLine(); if (continuePurchase y ) { totalNumber1; if (totalNumber1 5) { Console.WriteLine(您已经购买了5组号码不能再购买了); b1 false; continue; } } else { b1 false; continue; } } } break; case 2: // 查看购买彩票逻辑 { Console.ForegroundColor ConsoleColor.Blue; Console.WriteLine($您这张彩票中一共购买了{totalNumber1 1}组号码); Console.WriteLine(购买号码如下); for (int i 0; i totalNumber1; i) { Console.Write($第{i 1}组号码); for (int j 0; j 6; j) { Console.Write(${redBalls[i, j]} ); } Console.Write($ - {BlueBalls[i, 0]} ); Console.WriteLine($ * {beiShu[i, 0]}); } Console.ResetColor(); } break; case 3: // 开奖逻辑 { if (redBalls[0, 0] 0) { Console.ForegroundColor ConsoleColor.Red; Console.WriteLine(您还没有购买号码请先购买号码); Console.ResetColor(); break; } while (b2) { for (int i 0; i states.Length; i) { states1[i] true; } for (int i 0; i 6; i) { int num rnd.Next(1, 34); while (states1[num] false) { num rnd.Next(1, 34); } winNumber[i] num; states1[num] false; } for (int i 0; i 6; i) { for (int j i 1; j 6; j) { if (winNumber[i] winNumber [j]) { int temp winNumber[i]; winNumber[i] winNumber[ j]; winNumber[j] temp; } } } winNumber[6] rnd.Next(1, 17); b2 false; Console.ForegroundColor ConsoleColor.Green; Console.WriteLine(开奖成功); Console.ResetColor(); } } break; case 4: // 查看中奖情况逻辑 { if (redBalls[0,0] 0) { Console.ForegroundColor ConsoleColor.Red; Console.WriteLine(您还没有购买号码请先购买号码); Console.ResetColor(); break; } if(b2 true) { Console.ForegroundColor ConsoleColor.Red; Console.WriteLine(还没有开奖无法查看中奖情况); Console.ResetColor(); break; } int cnt 0; for (int i 0; i totalNumber1; i) { int sumNumber 0; int redCount 0; int blueCount 0; for (int j 0; j 6; j) { for (int k 0; k 6; k) { if (redBalls[i, j] winNumber[k]) { redCount; } } } if (BlueBalls[i, 0] winNumber[6]) { blueCount; } Console.ForegroundColor ConsoleColor.Blue; Console.WriteLine($第{i 1}组号码中奖情况红球中{redCount}个蓝球中{blueCount}个); Console.ResetColor(); sumNumber redCount blueCount; Console.ForegroundColor ConsoleColor.Red; switch (sumNumber) { case 7: Console.WriteLine($恭喜您第{i 1}组中了一等奖5000000元); cnt; break; case 6: if (blueCount 0) { Console.WriteLine($恭喜您第{i 1}组中了二等奖50000元); cnt; } else { Console.WriteLine($恭喜您第{i 1}组中了三等奖3000元); cnt; } break; case 5: Console.WriteLine($恭喜您第{i 1}组中了四等奖200元); cnt; break; case 4: Console.WriteLine($恭喜您第{i 1}组中了五等奖10元); cnt; break; case 3: Console.WriteLine($恭喜您第{i 1}组中了六等奖5元); cnt; break; case 2: Console.WriteLine($恭喜您第{i 1}组中了六等奖5元); cnt; break; case 1: Console.WriteLine($恭喜您第{i 1}组中了六等奖5元); cnt; break; default: Console.WriteLine($很遗憾您第{i 1}组没有中奖); break; } } Console.WriteLine(您共中奖{0}次, cnt); Console.ResetColor(); } break; case 5: // 查看当期开奖号码 { if(b2 true) { Console.ForegroundColor ConsoleColor.Red; Console.WriteLine(还没有开奖无法查看当期开奖号码); Console.ResetColor(); break; } Console.ForegroundColor ConsoleColor.Blue; Console.WriteLine(当期开奖号码为); for (int i 0; i 6; i) { Console.Write(${winNumber[i]} ); } Console.WriteLine(\n您购买的号码为); for(int i 0;i totalNumber1; i) { Console.Write($第{i 1}组号码); for (int j 0; j 6; j) { Console.Write(${redBalls[i, j]} ); } Console.Write($ {BlueBalls[i, 0]} \n); } Console.ResetColor(); } break; case 6: // 退出系统逻辑 { Console.ForegroundColor ConsoleColor.Red; Console.WriteLine(感谢使用福彩双色球系统); Console.WriteLine(欢迎您的再次使用); Console.ResetColor(); b false; break; } default: Console.ForegroundColor ConsoleColor.Red; Console.WriteLine(无效输入请重新选择); Console.ResetColor(); break; } } while (b); Console.ReadKey(); } }}代码实现界面如下:注意:由于使用的是用Int进行接收,所以输入的只能是数字,输入字符等会直接报错,本人较懒就不做修改了,大家可以自行优化;

相关新闻

Roo Code 联邦检索翻车:分数归一后竟吞了 40% 关键结果——多源融合去重避坑指南

Roo Code 联邦检索翻车:分数归一后竟吞了 40% 关键结果——多源融合去重避坑指南

Roo Code 联邦检索翻车:分数归一后竟吞了 40% 关键结果--多源融合去重避坑指南 联邦检索系统的归一化陷阱与工程实践:从62%到89%的优化之路 当多库检索变成俄罗斯轮盘赌:发现问题过程全记录 最初选择 Roo Code 联邦检索系统经过了为期三周的技术评估。我们对比了三种主流方案…

2026/9/21 9:47:20 阅读更多 →
AI智能体安全风险剖析:从英国AISI事故看自主执行的安全防线

AI智能体安全风险剖析:从英国AISI事故看自主执行的安全防线

上周,一个来自英国AI安全研究所(AISI)的测试案例,在技术圈里引发了远超其篇幅的讨论。报告的核心内容听起来像科幻电影的开场:研究人员关闭了某个AI模型内置的“安全过滤器”,然后让这个被“松绑”的AI智能…

2026/9/21 9:48:10 阅读更多 →
Elden Ring存档迁移终极指南:3步安全转移数百小时游戏进度

Elden Ring存档迁移终极指南:3步安全转移数百小时游戏进度

Elden Ring存档迁移终极指南:3步安全转移数百小时游戏进度 【免费下载链接】EldenRingSaveCopier 项目地址: https://gitcode.com/gh_mirrors/el/EldenRingSaveCopier 你是否曾因为更换电脑、游戏版本升级或系统重装而面临艾尔登法环存档丢失的风险&#xf…

2026/9/16 1:08:10 阅读更多 →

最新新闻

外贸建站用什么平台好?新手入门避坑指南

外贸建站用什么平台好?新手入门避坑指南

外贸建站用什么平台好?新手入门避坑指南 网站做好了没人访问,这是90%外贸新手最崩溃的时刻。你花了几万块定制开发,页面精美得像杂志,但打开百度或谷歌搜产品,根本找不到你。别慌,这通常不是内容的问题,而是 技术选型 从一开始就错了。…

2026/9/21 9:45:18 阅读更多 →
一个服务器上有两个网站要备案两次吗?源码下载避坑指南

一个服务器上有两个网站要备案两次吗?源码下载避坑指南

一个服务器上有两个网站要备案两次吗?源码下载避坑指南 别再死磕那些丑得令人发指的模板网站了,真的,看着都尴尬。很多新手为了省事,直接去搜“源码下载”,结果装出来的页面配色像上世纪的网吧,布局挤得像早高峰的地铁,客户一眼就能看穿你的不专业。更头疼的是,当你终于搞定两个网站,准备绑上服务器时,卡在了备案…

2026/9/21 9:30:07 阅读更多 →
个人博客网页设计论文选题怎么选,3个维度避开域名服务器坑

个人博客网页设计论文选题怎么选,3个维度避开域名服务器坑

个人博客网页设计论文选题怎么选,3个维度避开域名服务器坑 域名解析报错 502,服务器内存爆满,这种“代码写得好,上线就抓瞎”的尴尬,是不是你写个人博客网页设计论文时的真实写照?很多同学在选题和实操阶段,死磕 CSS 动画或 JS 交互,却对最底层的域名绑定和服务器配置一知半解。…

2026/9/21 9:16:31 阅读更多 →
2026最新:破解软件下载网站哪个好,自建系统全解析

2026最新:破解软件下载网站哪个好,自建系统全解析

2026最新:破解软件下载网站哪个好,自建系统全解析 改个需求建站公司拖一周,这种憋屈事儿我见得太多了。很多设计师转前端的朋友,手里有活儿,但苦于没有稳定的流量入口,想搭个软件下载站,却又被外包公司的拖延症搞崩溃。其实, 2026最新…

2026/9/21 8:58:55 阅读更多 →
3招搞定网站标识代码怎么加,避开性能优化大坑

3招搞定网站标识代码怎么加,避开性能优化大坑

3招搞定网站标识代码怎么加,避开性能优化大坑 域名解析配错、服务器环境没选对,90%的新手在搞SEO时都栽在这。你辛辛苦苦写了篇长文,结果用户打开页面转圈加载,搜索引擎爬虫也抓不到核心数据,这锅谁背?别怪算法变了,很多时候是基础代码没埋对,尤其是那些看似不起眼的网站标识代码,一旦加错位置或格式,不仅…

2026/9/21 8:45:18 阅读更多 →
3类高危漏洞:网页制作模板中文源码下载安全自查

3类高危漏洞:网页制作模板中文源码下载安全自查

3类高危漏洞:网页制作模板中文源码下载安全自查 域名服务器搞不懂,是无数运营推广人员接手“网页制作模板中文”项目时的噩梦。你手里拿着一个看起来很漂亮的模板,后台却像个黑盒,更别提那些藏在代码深处的安全隐患。…

2026/9/21 8:30:15 阅读更多 →

日新闻

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程 【免费下载链接】agentic-awesome-skills AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and …

2026/9/21 0:00:01 阅读更多 →
gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析 【免费下载链接】gin-vue-admin 🚀ViteVue3Gin拥有AI辅助的基础开发平台,企业级业务AI开发解决方案,内置mcp辅助服务,内置skills管理,…

2026/9/21 0:00:01 阅读更多 →
Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

桌面应用AI 应用插件系统 【免费下载链接】Wox A cross-platform launcher that simply works 项目地址: https://gitcode.com/gh_mirrors/wo/Wox 点击查看 免费下载 全功能插件(Full-featured Plugin)是 Wox 三类插件实现方式中能力最完整的…

2026/9/21 0:00:01 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/21 3:13:20 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/21 2:19:36 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/21 4:51:05 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/19 23:01:36 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/19 17:50:38 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →