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

输入格式: 输入在一行中给出序列中整数个数N(0<N≤1000),以及N个整数。数字间以空格分隔。 输出格式: 在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。
测试用例:10 3 2 -1 5 3 4 3 0 3 2
输出样例:3 4
我的代码:
int main(void)
{
int n,i,j,k;

int max=0;
int a[n];
scanf("%d ",&n);

for(i=0;i<n;i++){
    scanf("%d ",&a[i]);
}
 for(i=0;i<n;i++){
    int m=0;
for(j=0;j<n;j++){
if(a[i]==a[j]){
   m++;
}
}
    if(m>max){
        max=m;
        k=a[i];
    }
    }
 printf("%d %d",k,max); 
 return 0;

}

输出样例:3 1
不知道为什么会这样,求解!

第2 3 行位置互换下,n 都没输入,就定义int a[n];

测试了一下,没毛病啊