为什么只过了8个点

#include<bits/stdc++.h>
using namespace std;
struct student
{
int num,chinese,math,english,total;
}a[110],t;
int main()
{
int n,i,j;
scanf("%d\n",&n);
for(i=1;i<=n;i++)
{
a[i].num=i;
scanf("%d %d %d\n",&a[i].chinese,&a[i].math,&a[i].english);
a[i].total=a[i].chinese+a[i].english+a[i].math;
}
for(i=1;i<n;i++)
{
for(j=1;j<=n-i;j++)
{
if(a[j].total<a[j+1].total)
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
}
}
for(i=1;i<n;i++)
{
if(a[i].total==a[i+1].total&&a[i].chinese<a[i+1].chinese)
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
}
for(i=1;i<n;i++)
{
if(a[i].total==a[i+1].total&&a[i].chinese==a[i+1].chinese&&a[i].num>a[i+1].num)
{t=a[i];a[i]=a[i+1];a[i+1]=t;}

}
for(i=1;i<=5;i++)
cout<<a[i].num<<" "<<a[i].total<<endl;
return 0;
}

0 条评论

目前还没有评论...

信息

ID
1398
难度
4
分类
其他 | 排序 点击显示
标签
递交数
5761
已通过
2427
通过率
42%
上传者