ccf數字排序
#include<stdio.h>
struct Rank
{
int v;
int s;
}a[1001];
int main()
{
int n,i,x,j;
int num=0;
scanf("%d",&n);
for(i=0;i<1001;i++)
{
a[i].v=i;
a[i].s=0;
}
for(i=0;i<n;i++)
{
scanf("%d",&x);
a[x].s++;
}
for(i=0;i<1001;i++)
{
for(j=i+1;j<1001;j++)
{
if(a[i].s<a[j].s||(a[i].s==a[j].s&&a[i].v>a[j].v))
{
struct Rank temp;
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
if(a[i].s==a[j].s)
{
if(a[i].v>a[j].v)
{
struct Rank temp1;
temp1=a[i];
a[i]=a[j];
a[j]=temp1;
}
}
}
}
for(i=0;i<n;i++)
{
if(a[i].s!=0)
{
printf("%d %d\n",a[i].v,a[i].s);
}
}
return 0;
}