80求助:下载数据后得知,有一组数据的输出多处一行
查看原帖
80求助:下载数据后得知,有一组数据的输出多处一行
1215487
uuuuuuu000楼主2024/4/25 00:04
#include<iostream>
using namespace std;

struct stu
{
	int c, m, e;
	int num;
};

int sum_s(stu student)
{
	int sum = student.c + student.m + student.e;
	return sum;
}

void swap_s(stu& stu1, stu &stu2)
{
	stu t;
	t = stu1;
	stu1 = stu2;
	stu2 = t;
}

void ord_s(stu student[300], int n)
{
	int sum1, sum2;
	for (int i = 0; i < n; i++)
	{
		sum1 = sum_s(student[i]);
		for (int j = i + 1; j < n; j++)
		{
			sum2 = sum_s(student[j]);
			if (sum2 == sum1)
			{
				if (student[i].c < student[j].c)
				{
					swap_s(student[i], student[j]);
				}
				else
				{
					if (student[i].c == student[j].c)
					{
						if (student[i].num > student[j].num)
						{
							swap_s(student[i], student[j]);
						}
					}
				}
			}
			if (sum2 > sum1)
			{
				swap_s(student[i], student[j]);
				sum1 = sum2;
			}
		}
	}
	return;
}

int main()
{
	int n;
	while (cin >> n)
	{
		stu student[300];
		for (int i = 0; i < n; i++)
		{
			cin >> student[i].c >> student[i].m >> student[i].e;
			student[i].num = i + 1;
		}
		ord_s(student, n);
		for (int i = 0; i < 5; i++)
		{
			cout << student[i].num << " " << sum_s(student[i]) << endl;
		}
	}
	return 0;
}
2024/4/25 00:04
加载中...