时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:8431
解决:2819
输入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
思路:
另外设一个数组统计呗。
PS:哈工大的考研题怎么这么简单呢。
代码:
#include <stdio.h>
#include <string.h>int main(void)
{int a[20], b[11];int i, max;while (scanf("%d",&a[0]) != EOF){for (i=1; i<20; i++)scanf("%d",&a[i]);for (i=1; i<=10; i++)b[i] = 0;for (i=0; i<20; i++)b[a[i]] ++;for (i=1; i<=10; i++){if (i==1){max = i;continue;}if (b[i] > b[max])max = i;}printf("%dn", max);}return 0;
}
/**************************************************************Problem: 1057User: liangrx06Language: CResult: AcceptedTime:0 msMemory:912 kb
****************************************************************/
本文发布于:2024-02-08 19:48:20,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170739302168470.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |