由文件给出 N 个 1 到 30000 间无序数正整数,其中 1≤N≤10000,同一个正整数可能会出现多次,出现次数最多的整数称为众数。求出它的众数及它出现的次数。
输入格式:
第一行是正整数的个数 N,第二行开始为 N 个正整数。
输出格式:
输出文件有若干行,每行两个数,第 1 个是众数,第 2 个是众数出现的次数。 有多个众数按值大小顺序升序输出
输入样例:
在这里给出一组输入。例如:
12
2 4 2 3 2 5 3 7 2 3 4 3
结尾无空行
输出样例:
在这里给出相应的输出。例如:
2 4
3 4
结尾无空行
#includeusing namespace std; int n; int a[30001],b[30001]={0}; int max1=0; int main(void) { cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; if(a[i]>max1) max1=a[i]; } for(int i=1;i<=max1;i++) { for(int j=1;j<=n;j++) { if(i==a[j]) { b[i]++; } } } int b1=b[1]; for(int i=1;i<=max1;i++)//找到最大数量 { if(b[i]>b1) { b1=b[i]; } } for(int i=1;i<=max1;i++) { if(b[i]==b1) { printf("%d %dn",i,b[i]); } } return 0; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)