一组数据中出现最多的数,称为众数。比如
1 2 3 3
众数为3。一组数据中也可能有多个众数,以最先出现的作为众数。比如
2 2 3 3
众数为2。
问题是一组按升序排好的数据,指出它的众数。
#include<iostream>
using namespace std;
int main() {
int n;
while(cin>>n&&n!=0) {
int a[n];
for(int i=0; i<n; i++)
cin>>a[i];
int sum1=0,sum2=0,x=a[0];
for(int i=0; i<n; i++) {
sum2=0;
for(int j=i+1; j<n; j++) { //从自己本身的下一个开始找,找到不同就直接跳出
if(a[i]==a[j])sum2++;
if(a[i]!=a[j])break;
}
if(sum1<sum2) {//sum1用来记录数字个数
sum1=sum2;
x=a[i];
}
}
cout<<x<<endl;
}
return 0;
}