#include <stdio.h> #include <stdlib.h> #include <math.h> #include <string.h> typedef struct{ char name[20]; int p; int q; }phone; phone m[100]; int cmp(const void *a,const void *b) { phone *pa=(phone *)a; phone *pb=(phone *)b; int num1=pa->p/pa->q; int num2=pb->p/pb->q; return num2-num1; } int main() { int t,i,j=1; scanf("%d",&t); int k=t; while(k--) { int n; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%s%d%d",m[i].name,&m[i].p,&m[i].q); } qsort(m,n,sizeof(phone),cmp); for(i=0;i<n;i++) { printf("%d %s %d %d\n",j,m[i].name,m[i].p,m[i].q); } } return 0; } |
Double click to view unformatted code.