You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#编写1-59区间6个随机彩票生成程序 如何实现去重及排序

调整后的完整代码

int temp;
int[] lotto = new int[6];

Random rand = new Random();

for (int i = 0; i < 6; i++)
{
    // 新增重复校验逻辑,重复则重新生成随机数
    do
    {
        temp = rand.Next(1, 59);
    } while (lotto.Contains(temp));
    lotto[i] = temp;
}
// 新增升序排序逻辑
Array.Sort(lotto);

Console.Write($"The lottery winning numbers are: ");

for (int i = 0; i < 6; i++)
{
    Console.Write(lotto[i] + " ");
}
Console.ReadKey();

改动说明

完全保留原有代码的核心实现逻辑,仅新增两处调整即可满足需求:

  • 去重功能:在原随机数生成环节新增重复校验,调用lotto.Contains(temp)判断当前生成的号码是否已存在于数组中,若存在则重复生成,直到拿到未使用的号码再存入数组,从根源避免重复号码出现
  • 排序功能:所有号码生成完成后调用Array.Sort(lotto)方法直接对数组做升序排序,不需要修改原有输出逻辑即可按要求输出有序号码

注:原代码中拼写错误的lotterry已修正为正确的lottery。

内容的提问来源于stack exchange,提问作者Jenser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 23:06:08