c语言,输入10个1-20的整数,输出前5个出现次数最多的数字和对应次数

2025-03-04 16:05:10
推荐回答(1个)
回答1:

给你个能用的,不过没有验证输入有效性

#include 
int main()
{  
int cnt[21]={ 0 };
int i,a,max;
for (i=0;i<10;++i)
{
scanf("%d",&a);
++cnt[a];
}
max=cnt[1];
for (i=1;i<21;++i)
{
if (cnt[i]>max)
max=cnt[i];
}
for (a=0;max>0;--max)
{
for (i=20;i>0;--i)
{
if (cnt[i]==max)
{
printf("%d  %d\n",i,max);
++a;
if (a>=5) goto END;
}
}
}
END:
return 0;    
}