信息学奥赛一本通奖学金(struct)

别来无恙 提交于 2020-01-20 02:09:15

信息学奥赛-奖学金(struct结构体)

#include<iostream>
using namespace std;
struct student{
int xuehao;
int chinese,math,english;
int total;
}a[300];
int main()
{
    int n;
    student temp;
    cin>>n;
    for(int i=0;i<n;i++)
        {
        cin>>a[i].chinese>>a[i].math>>a[i].english;
        a[i].total=a[i].chinese+a[i].math+a[i].english;
        a[i].xuehao=i+1;
        }
    for(int j=0;j<n-1;j++)
        for(int i=0;i<n-j-1;i++)
        {
           if(a[i].total<a[i+1].total)
           {
              temp=a[i];
              a[i]=a[i+1];
              a[i+1]=temp;
           }
           if(a[i].total==a[i+1].total && a[i].chinese<a[i+1].chinese)
           {
               temp=a[i];
              a[i]=a[i+1];
              a[i+1]=temp;
           }
        }
        for(int i=0;i<5;i++)
            cout<<a[i].xuehao<<" "<<a[i].total<<endl;
        return 0;
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!