九度OJ 1057:众数
题目地址:http://ac.jobdu.com/problem.php?id=1057
题目描述:
输入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
1 #include<stdio.h> 2 3 int main() 4 { 5 int count[11],i,x,max; 6 7 while(1){ 8 memset(count,0,44); 9 // for(i=0;i<11;i++) 10 // count[i]=0; 作用与上相同 11 for(i=0;i<20;i++){ 12 if(scanf("%d",&x)!=1) return 0; 13 if(x>=1 && x<=10) count[x]++; 14 else return 0; 15 } 16 for(i=1,max=0;i<11;i++) 17 if(count[max]<count[i]) max=i; 18 19 printf("%d\n",max); 20 } 21 return 0; 22 }