1 条题解

  • 0
    @ 2025-10-10 19:52:16

    C++ :

    #include <bits/stdc++.h>
    using namespace std;
    
    struct stu{
    	int num;//学号
    	string name;//姓名 
    };
    
    stu a[110];
    int n;
    
    //排序比较 
    bool cmp(stu s1,stu s2){
    	if(s1.name.size()>s2.name.size()||(s1.name.size()==s2.name.size()&&s1.name>s2.name)||(s1.name==s2.name&&s1.num>s2.num)){
    		return true;
    	}else{
    		return false;
    	}
    }
     
    int main(){
        cin>>n;
        for(int i = 1;i <= n;i++){
        	cin>>a[i].num>>a[i].name;
    	}
    	
    	sort(a+1,a+n+1,cmp);
    	
    	for(int i = 1;i <= n;i++){
    		cout<<a[i].num<<" "<<a[i].name<<endl; 
    	}
        return 0;
    }
     
    
    • 1

    信息

    ID
    1061
    时间
    1000ms
    内存
    128MiB
    难度
    10
    标签
    递交数
    5
    已通过
    1
    上传者