T1186 出現次數超過一半的數(#Ⅱ- 2)
阿新 • • 發佈:2019-01-24
【題目描述】
給出一個含有n(0 < n ≤ 1000)個整數的陣列,請找出其中出現次數超過一半的數。陣列中的數大於-50且小於50。
【輸入】
第一行包含一個整數n,表示陣列大小;
第二行包含n個整數,分別是陣列中的每個元素,相鄰兩個元素之間用單個空格隔開。
【輸出】
如果存在這樣的數,輸出這個數;否則輸出no。
【輸入樣例】
3
1 2 2
【輸出樣例】
2
【源程式】
#include<iostream> #include<cstdio> #include<cstring> using namespace std; int main() { int a[101]={0}; int n,b; int i; bool flag=false; cin>>n; for(i=0;i<n;i++) { cin>>b; a[b+50]++; } for(i=0;i<100;i++) if(a[i]>=(n+1)/2) { flag=true; cout<<i-50<<endl; } if(flag==0) cout<<"no"; cout<<endl; return 0; }