1 条题解
-
0
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
- 上传者