输入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 }

 

posted @ 2018-03-30 15:07  第五  阅读(539)  评论(0编辑  收藏  举报