众数
题目描述
输入20个数,每个数都在1-10之间,求1-10中的众数(众数就是出现次数最多的数,如果存在一样多次数的众数,则输出权值较小的那一个)。
输入描述:
测试数据有多组,每组输入20个1-10之间的数。
输出描述:
对于每组输入,请输出1-10中的众数。
示例1
输入
5 1 5 10 3 5 3 4 8 6 8 3 6 5 10 7 10 2 6 2
输出
5
1 #include <iostream> 2 #include <string> 3 #include <cstring> 4 #include <algorithm> 5 #include <cmath> 6 #include <stack> 7 using namespace std; 8 int a[100010]; 9 int main() 10 { 11 while(cin>>a[0]){ 12 for(int i=1;i<20;i++){ 13 cin>>a[i]; 14 } 15 int num=0,snum=0; 16 sort(a,a+20); 17 int s=a[0],sm=0; 18 for(int i=0;i<20;i++){ 19 if(a[i]==s){ 20 num++; 21 if(num>snum){ 22 snum=num; 23 sm=s; 24 } 25 } 26 else { 27 num=1; 28 s=a[i]; 29 } 30 } 31 cout<<sm<<endl; 32 } 33 return 0; 34 }