关于众数问题,为什么提交一直是Runtime Error,高手赐教。
Description 给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重
集S中重数最大的元素称为众数。
例如,S={1,2,2,2,3,5}。
多重集S的众数是2,其重数为3。
′编程任务:
对于给定的由n个自然数组成的多重集S,编程计算S 的众数及其重数。
Input
输入数据的第1行多重集S中元素个数n;接下来的 n 行中,每行有一个自然数。
Output
输出有2 行,第1 行给出众数,第2行是重数。
Sample Input
Sample Output
6
1
2
2
2
3
5
Hint
2
3
#include <stdio.h>
int main()
{
int i,j,b[1300000],k,n,c,m;
while (scanf("%d",&n)!=EOF)
{ int a[1300000]={0};
scanf("%d",&b[0]);
k=1;
a[0]=1;
for(i=1;i<n;i++)
{ m=0;
scanf("%d",&c);
for(j=0;j<k;j++)
{ if(c==b[j])
{
a[j]++;
m=1;
break;
}
}
if(m==0)
{
b[k]=c;
a[k]++;
k++;
}
}
c=a[0];
j=0;
for(i=1;i<k;i++)
if(c<a[i])
{ c=a[i];
j=i;
}
printf("%d\n%d\n",b[j],c);
}
}