校acm1006

注意cmp函数

#include"stdio.h"
#include"string.h"
#include"stdlib.h"
struct number
{
int a;
int b;
}num[20000];
int cmp(const void *a,const void *b)
{
return (*(struct number*)a).a-(*(struct number*)b).a;
}

int main( )
{
int i,n,flag,j;
scanf("%d",&n);
memset(num,0,sizeof(num));//注意看这儿
for(i=0;i<n;i++)
{
scanf("%d",&num[i].a);
flag=0;
for(j=0;j<i;j++)
{
if(num[i].a==num[j].a)
{
flag=1;
num[j].b++;
break;
}
}
if(flag==0)
num[i].b++;
}
qsort(num,n,sizeof(struct number),cmp);
for(i=0;i<n;i++)
{
if(num[i].b!=0)
printf("%d %d\n",num[i].a,num[i].b);
}
return 0;
}
原文地址:https://www.cnblogs.com/chaosheng/p/2329290.html