文章
6
粉丝
0
获赞
10
访问
315
#include<stdio.h>
#include<string.h>
struct student{
char name[100];
int chinese;
int math;
int english;
int total;
};
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
struct student stu[n];
struct student temp;
for(int i=0;i<n;i++)
{
scanf("%s %d %d %d",&stu[i].name,&stu[i].chinese,&stu[i].math,&stu[i].english);
stu[i].total=stu[i].chinese+stu[i].math+stu[i].english;
//printf("%s %d %d %d\n",stu[i].name,stu[i]...
登录后发布评论
#include <bits/stdc++.h>
using namespace std;
struct Student
{
string name;
int chinese;
int english;
int math;
int sum;
} stu[1005];
bool compare(Student a,Student b)
{
if(a.sum==b.sum)
{
if(a.chinese==b.chinese)
{
if(a.english==b.english)
{
return a.english>b.english;
}
return a.math>b.math;
}
return a.chinese>b.chinese;
}
return a.sum>b.sum;
}
int main()
{
int n;
while(cin>>n)
{
for(int i=0; i<n; i++)
{
cin>>stu[i].name>>stu[i].chinese>>stu[i].math>>stu[i].english;
stu[i].sum=stu[i].chinese+stu[i].english+stu[i].math;
}
stable_sort(stu,stu+n,compare);
for(int i=0;i<n;i++){
cout<<stu[i].name<<" "<<stu[i].chinese<<" "<<stu[i].math<<" "<<stu[i].english<<endl;
}
}
return 0;
}