10分,求助!
查看原帖
10分,求助!
400843
spxzy楼主2023/4/30 16:03
#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;
}

案例输出的是正确的,但是提交后就出错。请大神们帮我看看。

2023/4/30 16:03
加载中...