大佬救救,一个下午一直卡在90不过,我到底错哪了!!
查看原帖
大佬救救,一个下午一直卡在90不过,我到底错哪了!!
1077407
jkluio1楼主2024/3/30 17:15
#include<iostream>
#include<cstring>
using namespace std;
typedef struct stu{
	string name;
	int score[3];
	int sum=0;
	struct stu* next;
}*Std,stu;
int Init(Std& L);
int Init(Std& L)
{
	L = new stu;
	if (!L)
		exit(0);
	L->next = NULL;
	return 1;
}
int input(Std &L, int n)
{
	Std p1=new stu, p2=L;
	if (!p1) exit(0);
	for (int i = 0; i < n; i++)
	{
		cin >> p1->name;
		for (int j = 0; j < 3; j++)
		{
			cin >> p1->score[j];
			p1->sum += p1->score[j];
		}
		p2->next = p1;
		p2 = p1;
		p2->next = NULL;
		p1 = new stu;
	}
	return 1;
}
stu compare(Std &L, int n)
{
	stu max;
	Std p1 = L->next;
	max.name=p1->name;
	max.score[0] = p1->score[0];
	max.score[1] = p1->score[1];
	max.score[2] = p1->score[2];
	max.sum = 0;
	p1 = p1->next;
	int i =1;
	while (i<n)
	{
		if(p1->sum > max.sum)
		{
			max.sum = p1->sum;
			for(int j=0;j<3;j++)
			max.score[j] = p1->score[j];
			max.name = p1->name;
		}
		i++;
		p1 = p1->next;
	}
	return max;
}
int main()
{
	Std L; int n; stu max;
	cin >> n;
	Init(L);
	input(L, n);
	max=compare(L, n);
	cout << max.name << ' ' << max.score[0]<<' '<< max.score[1]<<' '<< max.score[2];
	return 0;
}

救命,过不了90;测试点7一直过不了

2024/3/30 17:15
加载中...