在数组pai a[52]={{1,'a'},{1,'b'}........} 中随意抽出20张牌,放在数组int b[20]={........}中,编一个函数程序来完成这项任务
时间: 2024-02-27 08:56:45 浏览: 46
编写数组函数程序
可以使用随机数生成器来实现从 pai 数组中随机选择 20 张牌,并将它们存入 b 数组中。代码如下:
```c++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
struct Pai {
int num;
char ch;
};
void selectPai(Pai pai[], int n, int b[], int m) {
srand(time(NULL)); // 设置随机数种子为当前时间
for (int i = 0; i < m; i++) {
int index = rand() % n; // 生成 0 到 n-1 之间的随机数
b[i] = pai[index].num;
}
}
int main() {
Pai pai[52] = {{1, 'a'}, {1, 'b'}, /* ... */ {13, 'z'}};
int b[20];
selectPai(pai, 52, b, 20);
for (int i = 0; i < 20; i++) {
cout << b[i] << " ";
}
cout << endl;
return 0;
}
```
在这个代码中,`selectPai` 函数实现了从 pai 数组中随机选择 20 张牌,并将它们的 num 值存入 b 数组中。srand 函数设置了随机数种子为当前时间,以保证每次程序运行时生成的随机数序列都不同。在主函数中,我们调用 selectPai 函数并输出 b 数组中的元素,以验证程序的正确性。
阅读全文