题目描述
输入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
//计算机考研复试真题 众数 /* 程序设计思想:假双数组法,数组值存放出现的次数,数组下标存放对应的数。 */ //程序实现: #include<iostream> using namespace std; int main() { int a[11] = { 0 }, n, max,max_n; //max表示出现最多的次数,max_n表示对应的数组下标 for (int i = 0; i < 20; i++) { cin >> n; a[n]++; //n出现一次,则将a[n]自增1 } max = a[0]; max_n = 0; for (int i = 0; i < 10; i++) { if (a[i] > max) //寻找出现次数最多的 { max = a[i]; max_n = i; } } cout << max_n << endl; return 0; }
原文地址:https://www.cnblogs.com/parzulpan/p/9980231.html
时间: 2024-10-30 16:12:50