九度 題目1057:衆數 2011年 哈爾濱工業大學 計算機 研究生 機試真題

題目1057:衆數

時間限制:1 秒

內存限制:32 兆

特殊判題:

提交:6390

解決:2097

題目描述:

輸入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
來源:
2011年哈爾濱工業大學計算機研究生機試真題


#include <stdio.h>
void main(){
    int a=0;
    while (~scanf("%d",&a)){
        int temp=0,hash[11]={0},k=-1;
        hash[a]++;
        for(int i=1;i<20;i++){scanf("%d",&a);hash[a]++;}
        for(int i=1;i<11;i++)
            if(hash[i]>k){k=hash[i];temp=i;}
        printf("%d\n",temp);
    }
}
/**************************************************************
    Problem: 1057
    User: 愛理momoko
    Language: C
    Result: Accepted
    Time:0 ms
    Memory:912 kb
****************************************************************/


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章