题目1057:众数
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:9331
解决:3092
-
题目描述:
-
输入20个数,每个数都在1-10之间,求1-10中的众数(众数就是出现次数最多的数,如果存在一样多次数的众数,则输出权值较小的那一个)。
-
输入:
-
测试数据有多组,每组输入20个1-10之间的数。
-
输出:
-
对于每组输入,请输出1-10中的众数。
-
样例输入:
-
5 1 5 10 3 5 3 4 8 6 8 3 6 5 10 7 10 2 6 2
-
样例输出:
-
5
-
来源:
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<string>
#include<cmath>
using namespace std;
int main()
{
int a[20],j;
while(scanf("%d",&a[0])!=EOF){
int b[11]={0};
for(int i=1;i<20;i++){
scanf("%d",&a[i]);
}
//sort(a,a+20);
for(int i=0;i<20;i++){
j=a[i];b[j]++;
}
int max=0;
for(int i=1;i<11;i++)
if(b[i]>max) {max=b[i];j=i;}
printf("%d\n",j);
}
}
/**************************************************************
Problem: 1057
User: th是个小屁孩
Language: C++
Result: Accepted
Time:0 ms
Memory:1520 kb
****************************************************************/