NYOJ540 奇怪的排序

 1 #include<cstdio>
 2 #include<algorithm>
 3 using namespace std;
 4 int cmp(const void *x,const void *y){
 5     int i,j,c[10]={};
 6     int a=*(int *)x;
 7     int b=*(int *)y;
 8     
 9     for(i=0;a;i++){
10         c[i]=a%10;
11         a/=10; 
12     }
13     for(a=0,j=0;j<i;j++){
14         a=c[j]+a*10;
15     }
16     
17     for(i=0;b;i++){
18         c[i]=b%10;
19         b/=10; 
20     }
21     for(b=0,j=0;j<i;j++){
22         b=c[j]+b*10;
23     }
24     return a-b;
25 }
26 int main()
27 {
28     int s[55];
29     int i,n,a,b,k;
30     scanf("%d",&n);
31     while(n--){
32         scanf("%d%d",&a,&b);
33         for(k=0,i=a;i<=b;i++)
34             s[k++]=i;
35         qsort(s,k,sizeof(s[0]),cmp);
36         for(i=0;i<k;i++)
37             printf("%d ",s[i]);
38         puts("");
39     }
40     return 0;
41 }
原文地址:https://www.cnblogs.com/shihuajie/p/3053982.html