問題描述
編寫乙個程式,讀入一組整數,這組整數是按照從小到大的順序排列的,它們的個數n也是由使用者輸入的,最多不會超過20。然後程式將對這個陣列進行統計,把出現次數最多的那個陣列元素值列印出來。如果有兩個元素值出現的次數相同,即並列第一,那麼只列印比較小的那個值。
輸入格式:第一行是乙個整數n,n £ 20;接下來有n行,每一行表示乙個整數,並且按照從小到大的順序排列。
輸出格式:輸出只有一行,即出現次數最多的那個元素值。
輸入輸出樣例
樣例輸入
5100
150150
200250
樣例輸出
思路及**說明:
我的想法是設定三個變數,分別用於記錄當前陣列中出現次數最多的數,當前陣列出現次數最多的數的個數,和陣列中出現次數第二多的數的個數。
整型變數temp,記錄當前陣列中出現次數最多的數,初值設為陣列的第乙個元素,及a[0];
整型變數num,記錄陣列中出現最多的數的個數,及temp出現的次數;
整型變數fore,記錄陣列中出現次數第二多的數的個數,初值為1,不斷和num比較,更換num的值。
#include"iostream"
#include"algorithm"
using namespace std;
int main()
if(num} cout
}
藍橋杯 演算法訓練 出現次數最多的整數
這題思路比較簡單,易錯的點是n能取到小於1的數,而n 0時不用輸出,這一點不知道的話容易把問題想複雜。還有幾點關於本題 1,沒有特判n 0這種情況,其它都對的能得80分,沒過6,7組測試。2,這題資料沒有超int,int也可以過,但用long long 會0ms過。3,這題有人用字串存資料,過了,但...
藍橋杯 演算法訓練 出現次數最多的整數
問題描述編寫乙個程式,讀入一組整數,這組整數是按照從小到大的順序排列的,它們的個數n也是由使用者輸入的,最多不會超過20。然後程式將對這個陣列進行統計,把出現次數最多的那個陣列元素值列印出來。如果有兩個元素值出現的次數相同,即並列第一,那麼只列印比較小的那個值。輸入格式 第一行是乙個整數n,n 2 ...
藍橋杯演算法訓練 出現次數最多的整數
很簡單,但有乙個坑點,題目說了n是大於0且不超過20的整數 但它的第 六 七組資料n 0 n 20 所以加個判斷就能過了 下面是兩種方法 include include using namespace std intmain map iterator it it p.begin int max it...