帮我用c++写出机选5注大乐透号码的程序,规则是蓝色号码35选5 红色号码12选2
时间: 2024-02-06 21:12:36 浏览: 362
用C++写的抽奖程序
3星 · 编辑精心推荐
好的,以下是一个可以机选 5 注大乐透号码的程序,其中规则是蓝色号码 35 选 5,红色号码 12 选 2:
```c++
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main() {
srand((unsigned)time(NULL)); // 初始化随机数种子
int num[35], red[12], blue[5]; // 定义号码数组
for (int i = 0; i < 35; i++) {
num[i] = i + 1; // 初始化号码数组
}
for (int k = 0; k < 5; k++) { // 机选 5 注
// 随机选取红球号码
int index;
for (int i = 0; i < 2; i++) {
index = rand() % (35 - i) + i; // 生成随机下标
red[i] = num[index]; // 选取号码
// 将已选号码与最后一个未选号码交换,避免重复选取
int temp = num[index];
num[index] = num[34 - i];
num[34 - i] = temp;
}
// 随机选取蓝球号码
for (int i = 0; i < 5; i++) {
blue[i] = rand() % 35 + 1; // 生成随机号码
}
// 输出结果
cout << "第 " << k + 1 << " 注:" << endl;
cout << "红球号码:";
for (int i = 0; i < 2; i++) {
cout << red[i] << " ";
}
cout << endl << "蓝球号码:";
for (int i = 0; i < 5; i++) {
cout << blue[i] << " ";
}
cout << endl << endl;
}
return 0;
}
```
这个程序与上一个程序类似,只是在选取红球号码时改为选取 2 个号码,并且在选取蓝球号码时范围变为 1~35,因为蓝球号码需要从 35 个号码中选取 5 个。
运行程序后,屏幕上会输出 5 注机选的号码。
阅读全文