1350 最佳校友

請過雪山發表於2020-11-29

題目描述
北京校友會每年舉辦兩次,所有校友都有校友編號,每次到會的校友都在簽到簿上寫下自己的編號和姓名,在校友會成立5週年的聚會上將頒發“最佳校友獎”,該獎項頒發給到會次數最多的校友。現在請你編寫程式,找出這個獎項的得主。若有多個校友並列第一,則均可獲獎。

輸入
輸入若干個整數,表示簽到簿上的校友編號,所有編號均為0~99的整數,以一個負數作為輸入結束的標誌。

輸出
輸出出現次數最多的編號。若獲獎選手有多個,則按從小到大的順序輸出選手編號,用空格隔開。

樣例輸入
4 5 3 1 3 4 2 7 -1
樣例輸出
3 4

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int f[100],m,i,j=0,a[32767],c[100]={0};
    for(i=0;i<100;i++)
    {
        f[i]=i;
    }
    while(scanf("%d",&a[j]),a[j]>=0)
    {
        for(i=0;i<100;i++)
        {
            if(a[j]==f[i])
            {
                c[i]++;
            }
        }
        j++;
    }
    m=0;
    for(i=0;i<100;i++)
    {
        if(c[i]>m)
        {
            m=c[i];
        }
    }
    for(i=0;i<100;i++)
    {
        if(c[i]==m)
        {
            printf("%d ",i);
        }
    }
    return 0;
}

相關文章