給出一個含有n(0 < n <= 1000)個整數的數組,請找出其中出現次數超過一半的數。
數組中的數大于-50且小于50。
輸入第一行包含一個整數n,表示數組大小;第二行包含n個整數,分別是數組中的每個元素,相鄰兩個元素之間用單個空格隔開。輸出如果存在這樣的數,輸出這個數;否則輸出no。樣例輸入31 2 2樣例輸出2本題較簡單,直接附上AC代碼。#include<stdio.h>int main(){ int n,a[10001]={0},i,b[10001]={0},t=0; scanf("%d",&n); for(i=1;i<=n;i++) scanf("%d",&a[i]); for(i=1;i<=n;i++) { b[a[i]]++; } for(i=1;i<=n;i++) { if(b[a[i]]>n/2) { PRintf("%d",a[i]); t=1; break; } } if(t==0) printf("no"); return 0;}
新聞熱點
疑難解答