用c++写一段程序,产生一个1-9的顺序打乱的不重复长度为9的一维数组
时间: 2024-05-05 07:22:46 浏览: 81
以下是一段C++程序,可以实现你所需的功能:
```c++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main() {
const int N = 9; // 数组长度
int arr[N]; // 定义数组
bool used[N + 1] = {false}; // 记录数字是否已用过
srand(time(NULL)); // 以当前时间为种子,初始化随机数生成器
// 随机生成不重复的数字
for (int i = 0; i < N; i++) {
int num;
do {
num = rand() % N + 1;
} while (used[num]);
arr[i] = num;
used[num] = true;
}
// 输出数组
for (int i = 0; i < N; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
该程序使用了C++的随机数生成器,以当前时间为种子,生成一个1-9的顺序打乱的不重复长度为9的一维数组。程序使用了一个bool类型的数组,记录数字是否已经生成过,如果生成过,则重新生成,保证了数组中的数字不重复。最后输出生成的数组。
阅读全文