1. 程式人生 > >CCF 201312-1出現次數最多的數

CCF 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 <stdlib.h>

int main()
{
    int n,i,x;
    int cn[10002],maxcn=-1,max;

    scanf("%d",&n);

    for(i=0;i<10002;i++)
        cn[i]=0;

    for(i=0;i<n;i++)
    {
        scanf("%d",&x);
        cn[x]++;
    }

    for(i=0;i<10002;i++)
    {
        if(cn[i]>maxcn)
        {
            maxcn=cn[i];
            max=i;
        }
    }

    printf("%d\n",max);

    return 0;
}