代码改变世界

从输入的数中找出出现次数最多的数字

2013-10-10 17:14  kingshow  阅读(577)  评论(0编辑  收藏  举报

C练习:从输入的数中找出出现次数最多的数字

/*
 * num1.c
 *
 *  Created on: 2013年10月10日
 *      Author: lixiaolong
 */

#include <stdio.h>

int main(){

 int num[100] ={0};
 int n,len=0,flag=0,fg;
 int i;
 int compare,a[100],c[100]={0},count=0;
 int max,mc;

 printf("please enter the number of input needed:\n ");
 scanf("%d",&n);
 printf("please enter the number of:\n ");
 for(i=0;i<n;i++){
  scanf("%d",&num[i]);
 }

 a[0] = num[0];
 fg = 1;
 count++;
 for(i=0;i<n;i++){
  compare = num[i];
  flag = 0;
  len = count;
  while(len){
   if(compare == a[len-1]){
    c[len-1]++;
    flag = 1;
    break;
   }
   len--;
  }
  if( flag == 0){
   a[fg] = compare;
   fg++;
   count++;
  }
 }

 max = 0;
 mc = 0;
 for(i=0;i<count;i++){
  if(max < c[i]){
   max = c[i];
   mc = i;
  }
 }

 printf("输入的数中,出现频率最高的是:%d,出现了%d次!\n",a[mc],max);
 return 0;
}