咋不对了???

P1093 [NOIP2007 普及组] 奖学金

王寅泽 @ 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

你这个冒泡排序不对


| 下一页