用c语言解决“ 利用随机数发生器函数 int rand()每次生成一个随机整数,转换成1~10中的整数,连续多次后获得1~10的不重复随机整数序列,如2,1,3,6,8,4,9,5,7,10。 说明:rand()返回从0到RAND_MAX的随机数,原型在stdlib.h中。公式Num*rand()/RAND_MAX可求出一个从0~Num-1的随机数。 编程并调试完成所需功能。”
时间: 2024-02-28 17:51:59 浏览: 56
用c语言产生随机数
5星 · 资源好评率100%
好的,下面是C语言实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 10
int main() {
int nums[N] = {0};
srand(time(NULL)); // 设置随机数种子
for (int i = 0; i < N; i++) {
int r = rand() % 10 + 1; // 生成1~10之间的随机整数
if (nums[r-1] != 0) { // 如果该整数已经被使用过,则重新生成
i--;
} else {
nums[r-1] = r;
printf("%d ", r);
}
}
printf("\n");
return 0;
}
```
该程序先使用`srand()`函数设置随机数种子,然后使用`rand()`函数生成1~10之间的随机整数。如果该整数已经被使用过,则重新生成;否则将该整数添加到不重复随机整数序列中,并打印出来。最后输出不重复随机整数序列。需要使用`stdlib.h`库中的`rand()`和`srand()`函数,以及`time.h`库中的`time()`函数。
阅读全文