众数

题目链接:https://www.nowcoder.com/practice/1549bbe3d8f546f888f4290250d9e2a6?tpId=40&tqId=21491&tPage=8&rp=1&ru=%2Fta%2Fkaoyan&qru=%2Fta%2Fkaoyan%2Fquestion-ranking

题目描述

输入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 }

 

posted @ 2017-12-20 16:26  wydxry  阅读(704)  评论(0编辑  收藏  举报
Live2D