16分求助!!!qwq
  • 板块P1104 生日
  • 楼主ZHR20100222
  • 当前回复9
  • 已保存回复9
  • 发布时间2022/10/7 23:09
  • 上次更新2023/10/27 08:14:08
查看原帖
16分求助!!!qwq
582118
ZHR20100222楼主2022/10/7 23:09

结构体写的,用冒泡,总感觉少了一层排序

#include<bits/stdc++.h>  
using namespace std;
struct stu{
	string s;
	int n,y,r;
}stu[10050];
int m,i,j;
int main(){
    cin>>m;
    for(i=1;i<=m;i++){
    	cin>>stu[i].s>>stu[i].n>>stu[i].y>>stu[i].r;
	}
	for(i=1;i<=m;i++){
		for(j=m;j>i;j--){
			if(stu[i].n>stu[i+1].n){
			    swap(stu[i].s,stu[i+1].s);
			    swap(stu[i].n,stu[i+1].n);
			    swap(stu[i].y,stu[i+1].y);
			    swap(stu[i].r,stu[i+1].r);
		    }else if(stu[i].n==stu[i+1].n&&stu[i].y>stu[i].y){
			    swap(stu[i].s,stu[i+1].s);
			    swap(stu[i].n,stu[i+1].n);
			    swap(stu[i].y,stu[i+1].y);
			    swap(stu[i].r,stu[i+1].r);
		    }else if(stu[i].n==stu[i+1].n&&stu[i].y==stu[i+1].y&&stu[i].r>stu[i+1].r){
			    swap(stu[i].s,stu[i+1].s);
			    swap(stu[i].n,stu[i+1].n);
			    swap(stu[i].y,stu[i+1].y);
			    swap(stu[i].r,stu[i+1].r);
		    }
        }
	}
	for(i=1;i<=m;i++){
		cout<<stu[i].s<<endl;
	}
    return 0;
}

不知道上面的循环有没有问题,如果有 @ 我啊

2022/10/7 23:09
加载中...