ALGO-90 出現次數最多的整數

/* ?問題描述
  編寫一個程序,讀入一組整數,這組整數是按照從小到大的順序排列的,它們的個數N也是由用戶輸入的,最多不會超過20。然後程序將對這個數組進行統計,把出現次數最多的那個數組元素值打印出來。如果有兩個元素值出現的次數相同,即並列第一,那麼只打印比較小的那個值。
  輸入格式:第一行是一個整數N,N? £? 20;接下來有N行,每一行表示一個整數,並且按照從小到大的順序排列。
  輸出格式:輸出只有一行,即出現次數最多的那個元素值。
輸入輸出樣例
樣例輸入
5
100
150
150
200
250
樣例輸出
150*/
#include<stdio.h>

int main(void)
{
    int n,i;
    int max=0,q=0,p;
    int a[20],b[20]={0};
    scanf("%d",&n);
    if(n > 0&&n <= 20)
    {
        for(i = 0 ;i < n;i ++)
        {
            scanf("%d",&a[i]);
        }
        
        b[0]=1;
        
        for(i=1;i<n;i++)
        {
            if(a[i]==a[i-1])
            {
                b[q]++;
            }
            else
            {
                q=i;
                b[q]=1;
            }
        }
        for(i=0;i<=q;i++)
        {
            if(max<b[i])
            {
                max=b[i];
                p=i;
            }
        }
        printf("%d",a[p]);
    }
    return 0;
}
發佈了64 篇原創文章 · 獲贊 6 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章