整数出现次数 【问题描述】 输入一组无序的整数,编程输出其中出现次数最多的整数及其出现次数
整数出现次数
【问题描述】
输入一组无序的整数,编程输出其中出现次数最多的整数及其出现次数。
【输入形式】
读入整数的个数(大于等于1,小于等于100),然后在下一行输入这些整数。
【输出形式】
输出出现次数最多的整数及其出现的次数,两者以一个空格分隔;若出现次数最多的整数有多个,则按照整数升序分行输出。
【样例输入】
10
0 -50 0 632 5813 -50 9 -50 0 632
【样例输出】
-50 3
0 3
【样例说明】
输入了10个整数,其中出现次数最多的是-50和0,都出现了3次。
输出结束有换行。

#include int main(){int a[50],b[50],c[50],n,i,j,t,max;scanf("%d",&n);for(i=0;i<n;i++){scanf("%d",&a[i]);}for(i=1;i<n;i++)for(j=0;j<n-1;j++){if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}j=0;t=-1;for(i=0;i<n-1;i++){if(a[i]!=a[i+1]){b[j]=i-t;c[j]=i;t=i;j++;}}b[j]=n-1-t;c[j]=n-1;max=b[0];for(i=1;i<=j;i++){if(max<b[i]){max=b[i];}}for(i=0;i<=j;i++)if(b[i]==max){t=c[i];printf("%d %d\n",a[t],b[i]);}return 0;}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
