用c语言写一个随机生成20个1到20的数如果有相同的,删掉
时间: 2024-05-04 13:22:32 浏览: 11
以下是一个简单的实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int arr[20];
int i, j, tmp;
srand(time(NULL)); // 初始化随机数种子
// 生成20个1到20的随机数
for (i = 0; i < 20; i++) {
arr[i] = rand() % 20 + 1;
}
// 判断是否有相同的数并删除
for (i = 0; i < 19; i++) {
for (j = i + 1; j < 20; j++) {
if (arr[i] == arr[j]) {
// 将重复的数移到数组末尾并缩短数组长度
tmp = arr[j];
arr[j] = arr[19];
arr[19] = tmp;
i--;
break;
}
}
}
// 输出结果
for (i = 0; i < 19; i++) {
printf("%d ", arr[i]);
}
printf("%d\n", arr[19]);
return 0;
}
```
这个程序使用 `rand()` 函数生成随机数,通过双重循环判断是否有相同的数,并将重复的数移到数组末尾并缩短数组长度。最后输出结果。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)