wdsWS

任艺宸  •  2个月前


#include<iostream>  // cin\cout\endl 
#include<cstdio>    //scanf()\printf() 
#include<cstring>   // strcpy()\strcat()\strcmp()\strlen()\memset()  

#include<cmath>  //sqrt()\pow()\abs()\ceil()\floor()\max()\min()  
using namespace std; 
struct cj{ 
 char m[21]={}; 
 int x; 
}; 
int main(){ 
   cj a[21]={}; 
   int n; 
   cin>>n; 
   for(int i=0;i<n;i++){ 
       cin>>a[i].m>>a[i].x; 
   } 
   for(int i=0;i<n-1;i++){ 
       for(int j=0;j<n-i-1;j++){ 
           if(a[j].x<a[j+1].x){ 
               swap(a[j],a[j+1]); 
           }else if(a[j].x==a[j+1].x){ 
               int t=strcmp(a[j].m,a[j+1].m); 
               if(t>0){ 
                   swap(a[j],a[j+1]); 
               }  
           } 
       } 
   } 
   for(int i=0;i<n;i++){ 
       cout<<a[i].m<<" "<<a[i].x; 
       cout<<endl; 
   } 
   return 0; 
}


评论: