问题 E: 众数

题目链接http://codeup.cn/problem.php?cid=100000588&pid=4

题目描述
输入20个数,每个数都在1-10之间,求1-10中的众数(众数就是出现次数最多的数,如果存在一样多次数的众数,则输出权值较小的那一个)。

输入
测试数据有多组,每组输入20个1-10之间的数。

输出
对于每组输入,请输出1-10中的众数。

注意如果存在一样多次数的众数,则输出权值较小的那一个。

样例输入
8 9 6 4 6 3 10 4 7 4 2 9 1 6 5 6 2 2 3 8

样例输出
6

代码

#include<stdio.h>

int main () {
	int a;
	while(scanf("%d", &a) != EOF) {
		int b[12] = {0};
		b[a]++;
		for(int i = 1; i < 20; i++) {
			scanf("%d", &a);
			b[a]++;
		}
		int temp= 0, max = b[0];
		for(int i = 1; i < 11; i++)
			if(b[i] > max){
				max = b[i];
				temp = i;
			}
		printf("%d\n" ,temp);
	}
	return 0;
}
发布了148 篇原创文章 · 获赞 7 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Rhao999/article/details/104167758