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/8/9 11:59:32 阅读更多 →
AI智能体安全风险剖析:从英国AISI事故看自主执行的安全防线

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

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

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

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

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

2026/8/9 11:59:32 阅读更多 →

最新新闻

Meta Muse Code与Llama 5:AI代码生成实战指南与开发工作流集成

Meta Muse Code与Llama 5:AI代码生成实战指南与开发工作流集成

最近在 AI 和代码生成领域,Meta 的动作频频,先是推出了专为代码生成优化的模型 Muse Code,紧接着关于 Llama 5 的传闻和期待又在社区中升温。对于开发者而言,这不仅仅是新闻,更是即将改变我们日常开发工作流的信号。本…

2026/8/9 12:56:58 阅读更多 →
SpaceXAI Grok Build开源项目:API代理、隐私控制与本地部署指南

SpaceXAI Grok Build开源项目:API代理、隐私控制与本地部署指南

如果你最近在关注 AI 领域,特别是那些能帮你写代码、分析问题的 AI 助手,那么“Grok”这个名字你一定不陌生。它由马斯克旗下的 xAI 公司推出,以其独特的“叛逆”风格和强大的推理能力,迅速吸引了大量开发者和技术爱好者的目光。然…

2026/8/9 12:56:58 阅读更多 →
Wand-Enhancer终极指南:完全免费解锁WeMod高级功能的完整方案

Wand-Enhancer终极指南:完全免费解锁WeMod高级功能的完整方案

Wand-Enhancer终极指南:完全免费解锁WeMod高级功能的完整方案 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer 还在为WeMod游戏修改器的…

2026/8/9 12:56:58 阅读更多 →
C语言switch case语句详解与应用实例

C语言switch case语句详解与应用实例

1. 为什么需要switch case语句?在C语言编程中,我们经常遇到需要根据变量不同取值执行不同代码块的情况。比如处理用户输入的菜单选项、根据成绩等级输出评语、或者按照星期几执行不同任务等。这类场景如果使用if-else语句嵌套处理,代码会变得…

2026/8/9 12:56:58 阅读更多 →
XShell连接虚拟机的原理与实战配置指南

XShell连接虚拟机的原理与实战配置指南

1. XShell连接虚拟机的基本原理与场景需求作为一名长期使用XShell管理Linux服务器的运维工程师,我经常需要连接本地虚拟机进行测试环境配置。XShell作为专业的SSH终端工具,其连接虚拟机的核心原理是通过虚拟网卡建立的网络通道。这里需要明确几个关键点&…

2026/8/9 12:56:58 阅读更多 →
专业级Android USB HID客户端:解锁手机键盘鼠标模拟的终极方案

专业级Android USB HID客户端:解锁手机键盘鼠标模拟的终极方案

专业级Android USB HID客户端:解锁手机键盘鼠标模拟的终极方案 【免费下载链接】android-hid-client Android app that allows you to use your phone as a keyboard and mouse WITHOUT any software on the other end (Requires root) 项目地址: https://gitcode…

2026/8/9 12:55:57 阅读更多 →

日新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/9 0:01:47 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/9 0:01:47 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/9 0:03:48 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/9 0:01:47 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/9 0:01:47 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/9 0:03:48 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/8 17:02:44 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/9 0:45:04 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/8 17:02:44 阅读更多 →