問題描述
給定n個正整數,找出它們**現次數最多的數。如果這樣的數有多個,請輸出其中最小的乙個。
輸入格式
輸入的第一行只有乙個正整數n(1 ≤ n ≤ 1000),表示數字的個數。
輸入的第二行有n個整數s1, s2, …, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n)。相鄰的數用空格分隔。
輸出格式
輸出這n個次數**現次數最多的數。如果這樣的數有多個,輸出其中最小的乙個。
樣例輸入
610 1 10 20 30 20
樣例輸出
解題思路:
題目比較簡單,有兩種方法。
(1)由於題目說輸入的數字比較小,所以設定對應的陣列空間不能超出提問範圍,那麼每輸入乙個數字,對於的編號加1,陣列a存的是下標i的輸入次數,最後遍歷一次,就可以輸出結果。這裡主要涉及陣列初始化為0的問題。後面通過查閱資料知道定義靜態陣列時,並初始化可以全部設定為0.否則可以用memset函式初始化。具體**如下。
(2)第二種思路,用c++裡面的map對映,既可以快速統計每個輸入數的個數。具體看**。
方法一:
#includeint main();//memset(a,0,sizeof(a))
int i;
scanf("%d",&n);
for(i=0;imax)
} printf("%d",maxi);
return 0;
}
方法二:
#include#includeusing namespace std;
int main()
} printf("%d",maxi);
return 0;
}
CCF 出現次數最多的數
問題描述 試題編號 1試題名稱 出現次數最多的數 時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 給定n個正整數,找出它們中出現次數最多的數。如果這樣的數有多個,請輸出其中最小的乙個。輸入格式 輸入的第一行只有乙個正整數n 1 n 1000 表示數字的個數。輸入的第二行有n個整數...
CCF 出現次數最多的數
問題描述 給定n個正整數,找出它們中出現次數最多的數。如果這樣的數有多個,請輸出其中最小的乙個。輸入格式 輸入的第一行只有乙個正整數n 1 n 1000 表示數字的個數。輸入的第二行有n個整數s1,s2,sn 1 si 10000,1 i n 相鄰的數用空格分隔。輸出格式 輸出這n個次數中出現次數最...
CCF 出現次數最多的數(C語言)
問題描述 給定n個正整數,找出它們 現次數最多的數。如果這樣的數有多個,請輸出其中最小的乙個。輸入格式 輸入的第一行只有乙個正整數n 1 n 1000 表示數字的個數。輸入的第二行有n個整數s1,s2,sn 1 si 10000,1 i n 相鄰的數用空格分隔。輸出格式 輸出這n個次數 現次數最多的...