全部评论 1

  • #include<bits/stdc++.h>
    using namespace std;
    struct stu{
    string name,sex;
    int year,month;
    };
    // 传引用&
    void cmp(stu &a,stu &b){
    // 年份大=年龄小,a年份>b → a更小,不用换;a年份<b才交换
    if(a.year < b.year)
    swap(a,b);
    else if(a.year == b.year && a.month < b.month)
    swap(a,b);
    }
    int main(){
    int n;
    cin>>n;
    stu a[105]; // 固定数组,规避变长数组问题
    for(int i=0;i<n;i++){
    cin>>a[i].name>>a[i].sex>>a[i].year>>a[i].month;
    }
    // 冒泡排序标准写法
    for(int i=0;i<n-1;i++){
    for(int j=0;j<n-i-1;j++){
    cmp(a[j],a[j+1]);
    }
    }
    // 输出
    for(int i=0;i<n;i++){
    cout<<a[i].name<<" "<<a[i].sex<<" "<<a[i].year<<" "<<a[i].month<<endl;
    }
    return 0;
    }

    1周前 来自 北京

    0
暂无数据

提交答案之后,这里将显示提交结果~

首页