找出一组数中出现次数最多的数(csp201312-1)
问题描述:找出一组数字出现次数最多的数,如果有多个这样的数,输出其中最小的一个。
算法:sort排序,遍历数组,每遍历一个数,查出它已经出现的次数。
代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
int a[1005];
for(int i=0;i<n;i++)
{
cin>>a[i];
}
sort(a,a+n);
int k=0,flag=0,max=0;
for(int i=0;i<n;i++)
{
k=0;
for(int j=0;j<i;j++)
{
if(a[j]==a[i])
{
k++;
}
if(k>max)
{
max=k;
flag=i;
}
}
}
cout<<a[flag];
return 0;
}

浙公网安备 33010602011771号