王寅泽 @ 2021-03-06 14:03:21
#include <bits/stdc++.h>
using namespace std;
struct
{
int number;
int chinese=0;
int math=0;
int english=0;
int all;
}student[300];
int main()
{
int pupil,temp;
for(int i=0;i<300;i++)
{
student[i].number=i+1;
cout << student[i].all << endl;
}
cin >> pupil;
for(int i=0;i<pupil;i++)
{
cin >> student[i].chinese >> student[i].math >> student[i].english;
student[i].all=student[i].chinese+student[i].math+student[i].english;
}
for(int a=0;a<pupil-1;a++)
{
for(int b=a+1;b<pupil;b++)
if(student[b].all<student[b+1].all)
{
temp=student[b].number;
temp=student[b].chinese;
temp=student[b].math;
temp=student[b].english;
temp=student[b].all;
student[b].number=student[b+1].number;
student[b].chinese=student[b+1].chinese;
student[b].math=student[b+1].math;
student[b].english=student[b+1].english;
student[b].all=student[b+1].all;
student[b+1].number=temp;
student[b+1].chinese=temp;
student[b+1].math=temp;
student[b+1].english=temp;
student[b+1].all=temp;
}
else
{
if(student[b].chinese<student[b+1].chinese)
{
temp=student[b].number;
temp=student[b].chinese;
temp=student[b].math;
temp=student[b].english;
temp=student[b].all;
student[b].number=student[b+1].number;
student[b].chinese=student[b+1].chinese;
student[b].math=student[b+1].math;
student[b].english=student[b+1].english;
student[b].all=student[b+1].all;
student[b+1].number=temp;
student[b+1].chinese=temp;
student[b+1].math=temp;
student[b+1].english=temp;
student[b+1].all=temp;
}
else
{
if(student[b].number<student[b+1].number)
{
temp=student[b].number;
temp=student[b].chinese;
temp=student[b].math;
temp=student[b].english;
temp=student[b].all;
student[b].number=student[b+1].number;
student[b].chinese=student[b+1].chinese;
student[b].math=student[b+1].math;
student[b].english=student[b+1].english;
student[b].all=student[b+1].all;
student[b+1].number=temp;
student[b+1].chinese=temp;
student[b+1].math=temp;
student[b+1].english=temp;
student[b+1].all=temp;
}
}
}
}
for(int i=0;i<5;i++)
{
cout << student[i].number << " " << student[i].all << endl ;
}
return 0;
}
by _短笛无腔_ @ 2021-03-06 14:04:51
啊我还不知道结构体可以不命名??
by sycqwq @ 2021-03-06 14:11:26
啊这temp xswl
by sycqwq @ 2021-03-06 14:12:29
我还不知道temp能同时储存多个数
by tribool4_in @ 2021-03-06 14:12:37
temp=student[b].number;
temp=student[b].chinese;
temp=student[b].math;
temp=student[b].english;
temp=student[b].all;
奇怪的变量用法增加了!
by EuphoricStar @ 2021-03-06 14:25:37
@一只蒟蒻OIer 本来就可以啊(
by Macesuted @ 2021-03-06 14:31:11
有一个函数叫 swap 的,推荐您学一下
by 追梦之鲸 @ 2021-03-06 14:33:47
建议手写swap
void swap(int a,int b)
{
a^=b;
b^=a;
a^=b;
return;
}
by Interstice @ 2021-03-06 14:34:23
那样替换不能一起啊……
by Interstice @ 2021-03-06 14:44:06
建议直接sort
by Interstice @ 2021-03-06 14:44:27
你这个冒泡排序不对