201312-1

出现次数最多的数

问题描述
  给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。
输入格式
  输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。
  输入的第二行有n个整数s1, s2,, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n)。相邻的数用空格分隔。
输出格式
  输出这n个次数中出现次数最多的数。如果这样的数有多个,输出其中最小的一个。
样例输入
6
10 1 10 20 30 20
样例输出
10
#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{
    
    
    int n;
    int m;
    scanf("%d",&n);
    int a[10001]={
    
    0};
    int i;
    for ( i = 0; i < n; i++)
    {
    
    
        scanf("%d",&m);
        a[m]++;
    }
    int max = 1;
    for( i = 1; i < 10001; i++)
    {
    
    
        if( a[i] > a[max])
            max = i;
    }
    printf("%d",max);
}

猜你喜欢

转载自blog.csdn.net/segegse/article/details/113711474