4.5.6数据出错

#include<iostream>
using namespace std;
struct Stu
{
int No;
int Chinese;
int Math;
int English;
int Sum;
}s[302];
void Szpx(Stu a[],int n)//总体排序
{
for(int i=1;i<n;i++)
{
Stu key;
key=a[i];
int k=i-1;
while(a[k].Sum<key.Sum&&k>=0)
{
a[k+1]=a[k];
k--;
}
a[k+1]=key;
}
}
void Swap(Stu&a,Stu&b)//依语文成绩排序
{
Stu t;
if(a.Sum==b.Sum&&b.Chinese>a.Chinese)
{
t=b;
b=a;
a=t;
}
}
void Swap2(Stu&a,Stu&b)//依学号排序
{
Stu t;
if(a.Sum==b.Sum&&a.Chinese==b.Chinese&&(b.No<a.No))
{
t=b;b=a;a=t;
}
}

void SzpxC_N(Stu a[])//上述两个排序混在一起
{

for(int i=0;i<5;i++)
{
Swap(a[i],a[i+1]);
}

for(int i=0;i<5;i++)
{
Swap2(a[i],a[i+1]);
}
}

int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)

{
s[i].No=i+1;
cin>>s[i].Chinese;
cin>>s[i].Math;
cin>>s[i].English;
s[i].Sum=s[i].Chinese+s[i].Math+s[i].English;
}
Szpx(s,n);
for(int i=0;i<5;i++)

{
cout<<s[i].No<<" "<<s[i].Sum<<endl;
}
}

1 条评论

  • 1

信息

ID
1398
难度
4
分类
其他 | 排序 点击显示
标签
递交数
6447
已通过
2665
通过率
41%
被复制
22
上传者