其他分享
首页 > 其他分享> > P1093奖学金

P1093奖学金

作者:互联网

标题P1093奖学金

题目描述:
1.根据成绩对学生进行排名(语数英),先看总分,相同看语文,相同序号小的在前

2.目的:输出前五的学生学号和总分

3.第一行:人数
第二以后:语数英(默认序号1-n)
j在这里插入图片描述
结构体函数
在这里插入图片描述

思路
1.结构体函数(同一对象对应多个变量或者数组,编号,语数英分数,总分)
2.sort函数(bool值判断)排序(结构体比较,使用else)
3.注意循环时录入编号,之后才对应输入成绩

在这里插入代码片

#include
#include
using namespace std;

struct stu
{
int num;
int yw,sx,yy;
int sum;
}student[310];

bool cmp(stu a,stu b)//结构体比较
{
if(a.sum>b.sum ) return 1;

else if(a.sum<b.sum) return 0;
else
{
    if(a.yw>b.yw) return 1;
    else if(a.yw<b.yw) return 0;
    else
    {
        if(a.num<b.num) return 1;
        else return 0;
    }
}

}

int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
student[i].num=i;//序号
cin>>student[i].yw>>student[i].sx>>student[i].yy;
student[i].sum=student[i].yw+student[i].sx+student[i].yy;
}
sort(student+1,student+n+1,cmp);
for(int i=1;i<=5;i++)
{
cout<<student[i].num<<’ '<<student[i].sum<<endl;

}
return 0;

}

标签:return,P1093,int,sum,奖学金,student,语数英,yw
来源: https://blog.csdn.net/Melissan/article/details/100073662