每次读入的数并不一开始就存在一个数组里 而是存在num里面
num存已经出现过的数 cnt存出现过的数的出现次数 两个数组共用一个变量下标
#include <cstdio>
using namespace std;
int main()
{
int N ;
scanf("%d",&N);
int num[1010];
int cnt[1010]={0};
int n;
int length = 0;
for(int i = 0 ; i < N ;i++)
{
scanf("%d",&n);//读入新的数
int j;
for( j = 0; j< length ;j++)//遍历查找之前是否出现过
{
if(num[j]==n)
break;
}
if(j<length){
cnt[j]++;
}
else{
num[length] = n;
cnt[length] = 1;
length++;
}
}
int Max = 0;
for(int i= 1 ; i < length ;i++)
{
if(cnt[i]>cnt[Max]) Max = i;
}
printf("%d %d",num[Max],cnt[Max]);
}