a[20]={6,7,8,9,10,15,14,13,12,11,8,9,15,14,13,15,14,3,2,1},请用C语言编程输出数组a中没有重复数字的前5个最大的整数。
时间: 2023-10-01 18:06:52 浏览: 43
以下是一种可行的实现方法:
```c
#include <stdio.h>
int main() {
int a[20] = {6,7,8,9,10,15,14,13,12,11,8,9,15,14,13,15,14,3,2,1};
int count[16] = {0}; // 用于记录每个数字出现的次数
// 统计每个数字出现的次数
for (int i = 0; i < 20; i++) {
count[a[i]]++;
}
// 输出前5个最大的没有重复数字的整数
int max_count = 0;
for (int i = 0; i < 5; i++) {
int max_num = 0;
for (int j = 1; j <= 15; j++) {
if (count[j] == 1 && count[j] >= max_count && j > max_num) {
max_num = j;
}
}
max_count = count[max_num];
printf("%d ", max_num);
}
return 0;
}
```
该程序首先定义了一个长度为16的 `count` 数组用于记录每个数字出现的次数。然后遍历整个数组 `a`,统计每个数字出现的次数。
接下来,用一个循环输出前5个最大的没有重复数字的整数。在内部循环中,找到当前还没有被输出过的出现次数为1的数字中最大的那个,并将其输出。输出数字后,将其出现次数赋值给 `max_count`,以便在下一次循环中排除掉已经输出过的数字。
注意,由于数组 `a` 中的数字范围在1到15之间,因此 `count` 数组的长度只需要设置为16即可。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)