编写一个程序,获取10个1至20的随机数,要求随机数不能重复。
时间: 2023-04-04 13:03:14 浏览: 187
您好,我可以回答您的问题。以下是获取10个1至20的随机数且不重复的程序示例:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int nums[10] = {0}; // 存储随机数的数组
int i, j, temp;
srand((unsigned)time(NULL)); // 用系统时间初始化随机数种子
// 生成10个不重复的随机数
for (i = 0; i < 10; i++)
{
temp = rand() % 20 + 1; // 生成1至20之间的随机数
for (j = 0; j < i; j++)
{
if (temp == nums[j]) // 如果生成的随机数已存在,则重新生成
{
i--;
break;
}
}
if (j == i) // 如果生成的随机数不存在,则存入数组
{
nums[i] = temp;
}
}
// 输出随机数
for (i = 0; i < 10; i++)
{
printf("%d ", nums[i]);
}
printf("\n");
return 0;
}
阅读全文