1 条题解

  • 0
    @ 2025-4-7 21:19:29

    C :

    #include <stdio.h>
    #include <stdlib.h>
    
    struct mouse
    {
    	int weight;
    	char color[5];
    };
    
    int cmp(const void* pa,const void* pb)
    {
    	int temp=((struct mouse*)pa)->weight-((struct mouse*)pb)->weight;
    	return -temp;
    }
    
    int main ()
    {
    	int n;
    	struct mouse m[100];
    	while(scanf("%d",&n)!=EOF)
    	{
    		for(int i=0;i<n;i++)
    			scanf("%d%s",&m[i].weight,m[i].color);
    		qsort(m,n,sizeof(struct mouse),cmp);
    		for(int i=0;i<n;i++)
    			printf("%s\n",m[i].color);
    	}
    }
    

    C++ :

    #include<iostream>
    #include<string>
    using namespace std;
    
    struct mouse_info                                                //小白鼠信息结构体 
    {
            int weight;
            string colour;
    };
    
    int main()
    {
            int i,j,n;
            mouse_info mouse[100],temp;                        //temp用于排序时的临时变量 
            while(cin>>n)
            {
                    for(i=0;i<n;i++)                                //输入小白鼠的信息 
                    {
                            cin>>mouse[i].weight;
                            cin>>mouse[i].colour;
                    }
                    for(i=0;i<n;i++)
                    {        
                            for(j=i+1;j<n;j++)                        //一轮排序后,重量最大的排在前面 
                            {
                                    if(mouse[i].weight<mouse[j].weight)
                                    {
                                            temp.weight=mouse[i].weight;
                                            temp.colour=mouse[i].colour;
                                            mouse[i].weight=mouse[j].weight;
                                            mouse[i].colour=mouse[j].colour;
                                            mouse[j].weight=temp.weight;
                                            mouse[j].colour=temp.colour;
                                    }
                            }
                    }
                    for(i=0;i<n;i++)
                    {
                            cout<<mouse[i].colour<<endl;
                    }
            }
            return 0;
    }
    

    Java :

    
    
    import java.util.Arrays;
    import java.util.Scanner;
    
    public class Main {
       private static Scanner s = new Scanner(System.in) ;
       
       public static void main(String[] args) {
    	   while(s.hasNext()){
    		   int n = s.nextInt() ;
    		   
    			   Mouse m[] = new Mouse[n]  ;
    			   
    			   for (int j = 0; j < m.length; j++) {
    				  int weight = s.nextInt() ;
    				  String name = s.next() ;
    				  
    				  m[j] = new Mouse(weight, name) ;
    				  
    			   }
    			   
    			   Arrays.sort(m) ;
    			   
    			   for (int i = m.length-1; i >=0; i--) {
    				  System.out.println(m[i].name);
    			   }
    		    }
    	  
       } 
    }
    
    class Mouse implements Comparable {
    	int weight ;
    	String name ;
    	
    	
    	public Mouse(int weight, String name) {
    		this.weight = weight;
    		this.name = name;
    	}
    
    
    	@Override
    	public int compareTo(Object o) {
            Mouse m = (Mouse)o ;
            if(this.weight>m.weight){
            	return 1 ;
            }else if(this.weight==m.weight){
            	return 0 ;
            }else 
    		return -1;
    	}
    	
    	
    }
    
    
    • 1

    信息

    ID
    1162
    时间
    1000ms
    内存
    32MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者