题目
本题要求统计一个整型序列中出现次数最多的整数及其出现次数。
输入格式及样例
格式
输入在一行中给出序列中整数个数N(0<N≤1000),以及N个整数。数字间以空格分隔。
样例
10 3 2 -1 5 3 4 3 0 3 2
输出格式及样例
格式
在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。
样例
3 4
参考代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int Max(int a[], int n) {
int max = a[0];
for (int i = 1; i < n; i++) {
if (max < a[i])
max = a[i];
}
return max;
}
int main() {
int n;
scanf("%d", &n);
if (n < 1 || n>1000) {
printf("输入不合法");
exit(0);
}
int* arr = (int*)malloc(sizeof(int) * n);
int* brr = (int*)malloc(sizeof(int) * n);
for (int i = 0; i < n; i++)
brr[i] = 0;
for (int i = 0; i < n; i++)
scanf("%d", &arr[i]);
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
if (arr[i] == arr[j])
brr[i]++;
}
}
int m = Max(brr, n);//次数
for (int i = 0; i < n; i++) {
if (brr[i] == m) {
printf("%d %d", arr[i], m+1);
break;
}
}
return 0;
}