码迷,mamicode.com
首页 > 编程语言 > 详细

数组-10. 求整数序列中出现次数最多的数(15)

时间:2015-02-15 10:44:36      阅读:946      评论:0      收藏:0      [点我收藏+]

标签:pat   c   

本题要求统计一个整型序列中出现次数最多的整数及其出现次数。

输入格式:

输入在一行中给出序列中整数个数N(0<N<=1000),以及N个整数。数字间以空格分隔。

输出格式:

在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。

输入样例:
10 3 2 -1 5 3 4 3 0 3 2
输出样例:

3 4

#include <stdio.h>
#define N 1000
int comp(const void *p, const void *q) {
  return *(int *)p - *(int *)q;
}
int main(void) {
  int a[N + 1];
  int i, j, n, count, maxCount, value;
  scanf("%d", &n);
  for(i = 0; i < n; ++i)
    scanf("%d", &a[i]);
  qsort(a, n, sizeof(int), comp);  /* 升序排序 */ 
  maxCount = 0;  /* 最大次数 */ 
  value = 0;    /* 当前值 */
  i = 0;
  while(i < n) {
    count = 1;
    /* 每个元素出现次数 */
    for(j = i + 1; j < n && a[i] == a[j]; ++j)
      ++count;
    if(count > maxCount) {
      maxCount = count;
      value = a[i];
    }
    i = j;  /* 不重复查找 */ 
  }
  printf("%d %d\n", value, maxCount);
  return 0;
}


数组-10. 求整数序列中出现次数最多的数(15)

标签:pat   c   

原文地址:http://blog.csdn.net/jason_wang1989/article/details/43833521

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!