PAT Basic Level 1023

AC代码

 1 #include <stdio.h>
 2 #include <string.h>
 3 int cmp (const void *a,const void *b)
 4 {
 5     return *(char*)a - *(char*)b;
 6 }
 7 int main ()                      //思考一个问题如果达到一定界点进位怎么计算 
 8 {
 9     int box[10];
10     int i ;
11     for(i = 0;i < 10;i++)
12     {
13         scanf("%d",&box[i]);
14     } 
15     int size;
16     char input[51];
17     int i2 = 0;  ;    //指向 input
18     for(i = 0;i < 10;i++)
19     {
20         while(box[i] > 0)
21         {
22             input[i2] = i + '0';
23             i2++;
24             box[i]--;
25         }
26     }
27     input[i2] = '\0';
28     size = strlen(input);
29     qsort(input,size,sizeof(input[0]),cmp);
30     while(input[0] == '0')
31     {
32         int i;
33         for(i = 0;i < size;i++)
34         {
35             if(input[i] != '0')
36             {
37                 input[0] = input[i];
38                 input[i] = '0';
39                 break;
40              } 
41              
42         }
43         
44     }
45     printf("%s",input);
46     return 0 ;
47     
48 }

 

posted @ 2016-10-19 11:14  Ponytai1  阅读(186)  评论(0编辑  收藏  举报