出现次数最多的整数

 

 1 #include<stdio.h>
 2 
 3 int main()
 4 {
 5     int i,j;
 6     int n; //用于记录要输入的整数的个数 
 7     int a[20]; //用于存储输入的n个整数 
 8     int max_num_int; //用于记录出现次数最多的整数 
 9     int max_num; //用于记录 max_num_int 的出现次数 
10     
11     //输入 
12     scanf("%d",&n); //要输入的整数的个数 
13     
14     if(n>0&&n<=20) //0<n<=20 
15     {
16         for(i=0;i<n;i++) //输入n个整数 
17             scanf("%d",&a[i]);
18         
19         max_num_int=a[0]; //赋初值a[0],开始假设其为出现次数最多的整数 
20         max_num=0; //赋初值0,开始假设 max_num_int 出现的次数为0 
21         for(i=0;i<n;i++) //遍历n个整数 
22         {
23             if(a[i]==max_num_int) //判断下一个整数是否与 max_num_int相等 
24                 max_num++; //若相等,记录 max_num_int 的出现的次数 
25             else
26             {
27                 for(j=i;j<n;j++) //若不相等,找出那个整数的出现次数 
28                     if(a[j]!=a[i])
29                         break;
30                 if((j-i)>max_num) //如果与那个整数的出现次数大于 max_num 
31                 {
32                     max_num_int=a[i]; //更新 max_num_int
33                     max_num=1; //更新 max_int 
34                 }
35             }
36         }
37         
38         //输出 
39         printf("%d",max_num_int);
40     }
41     
42     return 0;
43 }
posted @ 2015-03-05 23:03  LeoFeng  阅读(597)  评论(0编辑  收藏  举报