#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std;
void Swap(struct A *a,struct A* b);
struct A
{
int n;
unsigned long int number;
}a[200001];
int main()
{
unsigned long int n=0,c;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",&c);
for(int j=0;j<n;j++)
{
a[i].number=c;
if(a[j].number==c)
{
a[j].n++;
//a[i].number=0;
break;
}
}
}
for(int i=0;i<n;i++)
{
if(!a[i].n)
{
memset(&a[i],0,sizeof(struct A));
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(a[i].number<a[j].number
&&a[i].n!=0&&a[i].n!=0)
{
Swap(&a[i],&a[j]);
}
}
}
for(int i=0;i<n;i++)
{
if(a[i].n!=0)
printf("%d %d\n",a[i].number,a[i].n);
}
return 0;
}
void Swap(struct A *a,struct A* b)
{
struct A *temp;
*temp=*a;
*a=*b;
*b=*temp;
}
案例输出的是正确的,但是提交后就出错。请大神们帮我看看。