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

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

输入格式:

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

输出格式:

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

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

3 4

#include <stdio.h>#define N 1000int 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)

相关文章:

你感兴趣的文章:

标签云: