1 条题解
-
0
C :
#include <stdio.h> #include <stdlib.h> struct student { int num; int score; }; int main() { struct student students[200]; int n,i,j; struct student t; while(scanf("%d",&n)!=EOF) { for(i=0;i<n;i++) { scanf("%d %d",&students[i].num,&students[i].score); } for(i=0;i<n-1;i++) { for(j=0;j<n-i-1;j++) { if(students[j].score>students[j + 1].score) { t=students[j]; students[j]=students[j+1]; students[j+1]=t; } else if(students[j].score==students[j+1].score) { if(students[j].num>students[j+1].num) { t=students[j]; students[j]=students[j+1]; students[j+1]=t; } } } } for(i=0;i<n;i++) { printf("%d %d\n",students[i].num,students[i].score); } } return 0; }
C++ :
#include <stdio.h> #include <stdlib.h> struct student { int number; int score; }; int main() { struct student students[101]; int n, i, j; struct student temp; while(scanf("%d",&n) != EOF) { //接收数据 for(i = 0; i < n; i++) { scanf("%d%d",&students[i].number,&students[i].score); } //冒泡排序 for(i = 0; i < n - 1; i ++) { for(j = 0; j < n - i - 1; j ++) { if(students[j].score > students[j + 1].score) { temp = students[j]; students[j] = students[j + 1]; students[j + 1] = temp; }else if(students[j].score == students[j + 1].score) { if(students[j].number > students[j + 1].number) { temp = students[j]; students[j] = students[j + 1]; students[j + 1] = temp; } } } } //输出排序结果 for(i = 0; i < n; i ++) { printf("%d %d\n",students[i].number,students[i].score); } } 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 t = s.nextInt() ; A a[] = new A[t] ; for (int i = 0; i < t; i++) { int num = s.nextInt() ; int score = s.nextInt() ; a[i] = new A(num, score) ; } Arrays.sort(a) ; for (int i = 0; i < a.length; i++) { System.out.println(a[i].num+" "+a[i].score); } } } } class A implements Comparable{ int num ; int score ; public A(int num, int score) { super(); this.num = num; this.score = score; } @Override public int compareTo(Object o) { A a = (A) o; if(this.score<a.score){ return -1 ; }else if(this.score==a.score) return 0; else return 1 ; } }
- 1
信息
- ID
- 539
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者