众数
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic
Problem Description
众数是指在一组数据中,出现次数最多的数。例如:1, 1, 3 中出现次数最多的数为 1,则众数为 1。
给定一组数,你能求出众数吗?
Input
输入数据有多组(数据组数不超过 50),到 EOF 结束。
对于每组数据:
•第 1 行输入一个整数 n (1 <= n <= 10000),表示数的个数。
•第 2 行输入 n 个用空格隔开的整数 Ai (0 <= Ai <= 1000),依次表示每一个数。
Output
对于每组数据,在一行中输出一个整数,表示这组数据的众数。
数据保证有唯一的众数。
Example Input
3
1 1 3
5
0 2 3 1 2
Example Output
1
2
Hint
Author
bLue
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,max,n,f,A,t,m = 50;
while(~scanf("%d",&n)&&m)//注意输入数据不超过50组
{
int a[1005] = {-1};//初始化数组;
f = 0;//f标记输入的最大的数是多少
for(i = 0;i < n;i++)
{
scanf("%d",&A);
a[A]++;//相同的数放入同一个变量下标中,然后++;
if(f < A)
{
f = A;
}
}
max = -1;
for(i = 0;i <= f;i++)//数组下标肯定是到f结束;
{
if(a[i] > max)
{
max = a[i];
t = i;//t标记众数;
}
}
printf("%d\n",t);
m--;
}
return 0;
}