本题要求统计一个整型序列中出现次数最多的整数及其出现次数。
输入格式:
输入在一行中给出序列中整数个数N(0<N<=1000),以及N个整数。数字间以空格分隔。
输出格式:
在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。
输入样例:10 3 2 -1 5 3 4 3 0 3 2输出样例:
3 4
#include <iostream> #define N 1000 using namespace std; int main() { int i,j,maxcount,count,n,a[N],temp; cin>>n; for(i=0;i<n;i++) { cin>>a[i]; } for(i=1;i<n;i++)//冒泡排序 { for(j=0;j<n-i;j++) { if(a[j]>=a[j+1]) { temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } } i=0; maxcount=1; while(i<n) { count=1; for(j=i+1;j<n&&a[i]==a[j];j++) { count++; } if(count>maxcount) { maxcount=count; } i=j;//不重复查询 } i=0; while(i<n) { count=1; for(j=i+1;j<n&&a[i]==a[j];j++) { count++; } if(count==maxcount) { cout<<a[i]<<" "; } i=j; } cout<<maxcount<<endl; return 0; }