请问 我编译没啥问题 但是输出有好多零 顺序也不对 但是票出现的次数是对的
学校正在选举学生会成员,有 n(n\le 999)n(n≤999) 名候选人,每名候选人编号分别从 1 到 nn,现在收集到了 m(m<=2000000)m(m<=2000000) 张选票,每张选票都写了一个候选人编号。现在想把这些堆积如山的选票按照投票数字从小到大排序。
输入格式
输入 nn 和 mm 以及 mm 个选票上的数字。
输出格式
求出排序后的选票编号。
输入输出样例
输入 #1复制
5 10
2 5 2 2 5 2 2 2 1 2
输出 #1复制
1 2 2 2 2 2 2 2 5 5
#include <stdio.h>
#include <stdlib.h>
int a[2000000];
int main()
{
int n,m,temp,max=1,i,cnt=0;
scanf("%d%d",&n,&m);
for(i=1;i<=m;i++){
scanf("%d",&a[i]);
}
for(i=1;i<=m;i++){
for(int j=2;j<=m;j++){
if(a[i]==a[j]){
cnt++;
}
}
}
for(i=1;i<=m;i++){
if(a[i]>=max){
temp=max;
max=a[i];
a[i]=temp;}
}
for(i=cnt;i>0;i--){
printf("%d ",a[i]);
}
return 0;
}