新手求助,样例没问题但是全WA
查看原帖
新手求助,样例没问题但是全WA
606419
juanjuan666楼主2021/12/6 22:06
#include<stdio.h>
#include<math.h>
typedef struct student//构建 
{
	char name[8];//名字 
	int x;//语文成绩 
	int y;//数学成绩 
	int z;//英语成绩 
	int sum;//总分 
}STU; 
int main()
{
	int n,i,j,y=1,sum=0;
	scanf("%d",&n);
	STU a[n];//定义一个类型
	int b[n];//定义一个数字数组进行保存和比较他们的分数 
	for(i=0;i<n;i++)//将数组进行赋值 
	{
		scanf("%s%d%d%d",&a[i].name,&a[i].x,&a[i].y,&a[i].z);
		a[i].sum=a[i].x+a[i].y+a[i].z;//算出每个人的总分 
	}
	for(i=0;i<n-1;i++)
	{
		for(j=i+1;j<n;j++)
		{
			y=1;
			if((abs(a[i].x-a[j].x)>5)||(abs(a[i].y-a[j].y)>5)||(abs(a[i].z-a[j].z)>5))//判断每科成绩相差是否大于5 
			{
				y=0;
			}
			else
			{
				if(abs(a[i].sum-a[j].sum)>10)//判断总分相差是否大于10 
				{
					y=0;	
				} 
			}
			if(y)//符合条件
			{
				if(sum==0)//第一个符合条件的人不加入换行符 
				{
					printf("%s %s",a[i].name,a[j].name);
					sum++;
				}
				else//后面符合的对手换行输出 
				{
					printf("\n%s %s",a[i].name,a[j].name);
				}
				
			}
		}
	}
	return 0;
}
2021/12/6 22:06
加载中...