m0_73931000 2022-10-22 11:51
浏览 12
已结题

为什么PTA不对但是Dev对了?

#include<stdio.h>
#include
#include
using namespace std;
struct student {
char name[20];
int num;
};
int main(){
int n,i,j,t,y;
cin>>n;
int a[n];
student stu[n];
for(i=0;i<n;i++){
cin>>stu[i].name >>stu[i].num ;
a[i]=i;
}
for(j=0;j<n;j++){
for(i=0;i<n-j-1;i++){
if(stu[i].num<stu[i+1].num ){
t=stu[i].num ;
stu[i].num =stu[i+1].num ;
stu[i+1].num =t;
y=a[i];
a[i]=a[i+1];
a[i+1]=y;
}
if(stu[i].num==stu[i+1].num ){
if(strcmp(stu[i].name ,stu[i+1].name )>0){
t=stu[i].num ;
stu[i].num =stu[i+1].num ;
stu[i+1].num =t;
y=a[i];
a[i]=a[i+1];
a[i+1]=y;

            }
        }
    }
}
for(j=0;j<n-1;j++){
    cout<<stu[a[j]].name <<" "<<stu[j].num<<endl ;
}
cout<<stu[a[j]].name <<" "<<stu[j].num ;
return 0;

}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 10月30日
    • 创建了问题 10月22日