解题思路:
直接使用qsort函数排序,快的不得了。
参考代码:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #define ll long long struct pp{ char a[100]; char b[100]; ll n; ll m; }; struct pp p[1001]; int gg(const void *x,const void *y){ struct pp *a=(struct pp *)x; struct pp *b=(struct pp *)y; return a->m-b->m; } int main (){ ll i,j; ll n,m; scanf("%lld",&n); for(i=0;i<n;i++){ scanf("%s %s %lld %lld",&p[i].a,&p[i].b,&p[i].n,&p[i].m); } qsort(p,n,sizeof(p[0]),gg); for(i=0;i<n;i++){ printf("%s %s %lld %lld\n",p[i].a,p[i].b,p[i].n,p[i].m); } return 0; }
0.0分
157 人评分