0分求助

P1104 生日

Ghy_boy @ 2023-11-18 10:56:53

#include<bits/stdc++.h>
using namespace std;
struct studned{
    string name;
    long long year,month,r;
}a[110];
int main()
{
    studned stu;
    stu.year=0;
    int d;
    cin>>d;
    for(int i=0;i<d;i++){
        cin>>a[i].name>>a[i].year>>a[i].month>>a[i].r;
    }
    for(int i=1;i<=d;i++)
        for(int j=i+1;j<=d;j++)
            if((a[i].year<a[j].year)||(a[i].year==a[j].year&&a[i].month<a[j].month)||(a[i].year==a[j].year&&a[i].month<a[j].month&&a[i].r<a[j].r)){
                swap(a[i],a[j]);
           }
    for(int i=1;i<=d;i++){
        cout<<a[i].name<<endl;
    }
return 0;
}

by Lyw_and_Segment_Tree @ 2023-11-18 11:14:02

你的冒泡似乎是错误的,因为冒泡的比较是两个元素a[i]a[i+1]
再说你写个cmp不香吗? 而且你没有去比较名字的字典序大小


by ALPHA_wule @ 2023-11-18 22:13:01

兄台,你得比较名字和加入顺序啊!


|