有5个学生,学生信息有学号,姓名,每个学生选修5门课,所有数据要求输入,按总成绩排名,并输出学生的所有信息。 我这样输入以后,还是没有按照总成绩排名输出,我也不知道哪里不对,请大佬们帮忙看看。
#include<bits/stdc++.h>
using namespace std;
struct student{
string sno;
int a[5];
float sum,avg;
};
bool cmp(student a,student b){ //按照总成绩排序
if(a.sum>b.sum)
return a.sum;
else
return b.sum;
}
int main(){
struct student s[5];
for(int i=0;i<5;i++){
cin>>s[i].sno>>s[i].a[0]>>s[i].a[1]>>s[i].a[2]>>s[i].a[3]>>s[i].a[4];
}
for(int i=0;i<5;i++){
s[i].sum=s[i].a[0]+s[i].a[1]+s[i].a[2]+s[i].a[3]+s[i].a[4];
s[i].avg=s[i].sum/5;}
sort(s,s+5,cmp);//按照总成绩将五个人排序
for(int i=0;i<5;i++){
cout<<s[i].sno<<" "<<s[i].a[0]<<" "<<s[i].a[1]<<" "<<s[i].a[2]<<" "<<s[i].a[3]<<" "<<s[i].a[4]<<" "<<s[i].sum<<" "<<s[i].avg<<endl;
}
return 0;
}