先創造一個陣列來輸入,接下來就用sort來排序。再來創造兩個變數(一個存放目前最多數的次數,另一個存放現今的數)的及一個vector <int> 陣列來放目前有最多數的的值。
程式如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t,m,time,g,i;
vector <int> v;
while(cin>>t)
{
time=1;
int n[t];
for(int i=0;i<t;i++) cin>>n[i];
sort(n,n+t);
g=0;
for(int i=0;i<t;i++)
{
g=1;
while(n[i]==n[i+1]) g++,i++;
if(g>time) v.clear(),v.push_back(n[i]),time=g;
else if(g==time) v.push_back(n[i]);
}
for(int i=0;i<v.size();i++) cout<<v[i]<<" "<<time<<endl;
}
}