求助大佬们,求调
  • 板块灌水区
  • 楼主魑魅魍魉唬
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/2/28 16:25
  • 上次更新2024/2/28 16:30:49
查看原帖
求助大佬们,求调
317218
魑魅魍魉唬楼主2024/2/28 16:25

有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;
}
2024/2/28 16:25
加载中...