你帮我改进一下代码并输出
时间: 2023-07-31 14:09:05 浏览: 61
好的,这里是改进后的代码,已经注释了修改的部分:
```c
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h> // 添加 stdlib.h 头文件,用于 qsort 函数
#define MAXN 100
int main()
{
int n = 0, i = 0, j = 0, r = 0, c = 0;
int max = 0, temp = 0;
int a[MAXN];
int b[MAXN][MAXN];
int count[MAXN + 1] = {0};
int rank[MAXN + 1];
scanf("%d", &n); // 修改输入方式
for (i = 0; i < n; i++)
{
scanf("%d", &a[i]);
for (c = 0; c < a[i]; c++)
{
scanf("%d", &b[r][c]);
if (b[r][c] >= 1 && b[r][c] <= MAXN) { // 添加范围检查
count[b[r][c]]++;
}
}
r = r + 1;
}
// 通过快速排序对排名进行排序
for (i = 1; i <= MAXN; i++) {
rank[i] = i;
}
qsort(rank + 1, MAXN, sizeof(int),
[](const void *a, const void *b) {
return count[*(int*)b] - count[*(int*)a];
});
printf("%d %d", rank[1], count[rank[1]]);
return 0;
}
```
输出结果仍然是最多的数值和出现次数,如果还有其他需求,请告诉我。