求助
查看原帖
求助
430449
王小博123楼主2021/2/26 19:16
#include<stdio.h>
struct xushen
{
	int a;
	int b;
	int c;
	int d;
	int e;
};
int main()
{
	int n,i,j;
	struct xushen k[305],max;
	scanf("%d",&n);
	getchar();
	for(i=0;i<n;i++)
	{
		k[i].a=i+1;
		scanf("%d%d%d",&k[i].b,&k[i].c,&k[i].d);
		getchar();
		k[i].e=k[i].b+k[i].c+k[i].d;
	}
	for(i=0;i<n;i++)
		for(j=0;j<n-1;j++)
			if(k[j].e<k[j+1].e||k[j].e==k[j+1].e&&k[j].b<k[j+1].b||k[j].e==k[j+1].e&&k[j].b==k[j+1].b&&k[j].a>k[j+1].a)
			{
				max.a=k[j+1].a;
				max.e=k[j+1].e;
				k[j+1].a=k[j].a;
				k[j+1].e=k[j].e;
				k[j].a=max.a;
				k[j].e=max.e;
			}
      for(i=0;i<5;i++)
		printf("%d  %d\n",k[i].a,k[i].e);
	return 0;
## 为什么当总分相同时,语文成绩高的就不会和低的交换,我那里已经写了if语句啊啊啊
2021/2/26 19:16
加载中...