本题要求统计一个整型序列中出现次数最多的整数及其出现次数。
输入格式:
输入在一行中给出序列中整数个数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;}
生活不要太劳累,弄得自己很疲惫,快乐幸福多体会,