解题思路:可以定义一个结构体存储各个分数  然后是对一个结构体组的简单排序问题

注意事项:添加函数 增加代码简洁与可读性.


参考代码:

#include<iostream>

using namespace std;


struct xuesheng                    //定义结构体

{

    int xuehao;

    int yuwen;

    int shuxue;

    int yingyu;

    int zongfen;

};


void shuru(xuesheng xueshengs[],int &n);    //1 输入数据

void shuchu(xuesheng xueshengs[]);        //3 输出数据

void paixu(xuesheng xueshengs[],int n);     //2 数组排序

bool ishuan(xuesheng m,xuesheng n);          //2.1判断是否交换

void huan(xuesheng &m,xuesheng &n);          //2.2交换


int main()

{

    xuesheng xueshengs[300]= {0};

    int n;


    shuru(xueshengs,n);

    paixu(xueshengs,n);

    shuchu(xueshengs);


    return 0;

}



void shuru(xuesheng xueshengs[],int &n)

{

    cin>>n;

    for(int i=0; i<n; i++)

    {

        cin>>xueshengs[i].yuwen>>xueshengs[i].shuxue>>xueshengs[i].yingyu;

        xueshengs[i].zongfen=xueshengs[i].yuwen+xueshengs[i].shuxue+xueshengs[i].yingyu;

        xueshengs[i].xuehao=i+1;

    }

}


void shuchu(xuesheng xueshengs[])

{

    for(int i=0; i<5; i++)

    {

        cout<<xueshengs[i].xuehao<<' '<<xueshengs[i].zongfen<<endl;

    }

}


bool ishuan(xuesheng m,xuesheng n)

{

    if(m.zongfen<n.zongfen)

    {

        return true;

    }

    if(m.zongfen==n.zongfen && m.yuwen<n.yuwen)

    {

        return true;

    }

    if(m.zongfen==n.zongfen && m.yuwen==n.yuwen && m.xuehao>n.xuehao)

    {

        return true;

    }

    return false;

}


void huan(xuesheng &m,xuesheng &n)

{

    xuesheng t;

    t=m;

    m=n;

    n=t;

}


void paixu(xuesheng xueshengs[],int n)

{

    for(int i=0; i<n; i++)

    {

        for(int j=i; j<n; j++)

        {

            if(ishuan(xueshengs[i],xueshengs[j]))

            {

                huan(xueshengs[i],xueshengs[j]);

            }

        }

    }

}


点赞(1)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论