输入n个整数,输出出现次数大于等于数组长度一半的数。
输入n个整数,输出出现次数大于等于数组长度一半的数。
1 #include <stdio.h> 2 #include <stdlib.h> 3 4 int main() 5 { 6 7 //思路:将输入的非重元素放入value数组,并同时统计每个元素的个数 8 //value:输入的数组 count:每个元素的个数 sum:元素总数 9 //str:判断输入是否结束 input:获得stdin的变量 status:输入的元素是否重复 10 int value[100],count[100]; 11 int input,vci=0,status=0,sum=0; 12 char str=' '; 13 while(str!='\n') 14 { 15 scanf("%d",&input); 16 for(int i=0;i<vci;i++) 17 { 18 if(value[i]==input) 19 { 20 count[i]++; 21 status=1; 22 break; 23 } 24 } 25 if(status==0) 26 { 27 value[vci]=input; 28 count[vci++]=1; 29 status=0; 30 } 31 sum++; 32 str=getchar(); 33 } 34 // for(int j=0;j<vci;j++) 35 // { 36 // printf("%d---%d\n",value[j],count[j]); 37 // } 38 for(int j=0;j<vci;j++) 39 { 40 if(count[j]>=sum/2) 41 printf("%d",value[j]); 42 } 43 return 0; 44 }