【PAT练习随笔】——念整数

 代码实现:

  1 #include <stdio.h>
  2 
  3 
  4 
  5 int main(int argc, char **argv) {
  6 
  7      int a=0;
  8 
  9 
 10 
 11     int b=0;
 12 
 13 
 14 
 15     int c=0;
 16 
 17 
 18 
 19     int count=-1;
 20 
 21 
 22 
 23     int left=1;
 24 
 25 
 26 
 27     int amount=0;
 28 
 29 
 30 
 31     int i=0;
 32 
 33 
 34 
 35     
 36 
 37 
 38 
 39     char *word="";
 40 
 41 
 42 
 43     scanf("%d",&a);
 44 
 45 
 46 
 47     
 48 
 49 
 50 
 51     if(a<0){
 52 
 53 
 54 
 55         printf("fu ");
 56 
 57 
 58 
 59         a=-a;
 60 
 61 
 62 
 63     };
 64 
 65 
 66 
 67     c=a;
 68 
 69 
 70 
 71     while(c>0){
 72 
 73 
 74 
 75         c/=10;
 76 
 77 
 78 
 79         count++;
 80 
 81 
 82 
 83     };
 84 
 85 
 86 
 87     amount=count;
 88 
 89 
 90 
 91     while(count>0){
 92 
 93         left*=10;
 94 
 95         count--;
 96 
 97 
 98     };
 99 
100 
101 
102     for(i=0;i<=amount;i++){
103 
104         b=a/left;
105 
106 
107         switch(b){
108 
109             case 0:
110 
111                 word="ling";
112                 break;
113 
114             case 1:
115 
116                 word="yi";
117                 break;
118 
119             case 2:
120 
121                 word="er";
122                 break;
123 
124             case 3:
125 
126                 word="san";
127                 break;
128 
129             case 4:
130 
131                 word="si";
132                 break;
133 
134             case 5:
135 
136                 word="wu";
137                 break;
138 
139             case 6:
140 
141                 word="liu";
142                 break;
143 
144 
145             case 7:
146 
147                 word="qi";
148                 break;
149 
150             case 8:
151 
152                 word="ba";
153                 break;
154 
155             case 9:
156 
157                 word="jiu";
158                 break;
159 
160         };
161 
162         if(i==amount){
163 
164             printf("%s",word);
165 
166         }else{
167             printf("%s ",word);
168         };
169 
170 
171         a=a%left;
172 
173         left/=10;
174 
175 
176     };
177 
178 
179     printf("\n");
180 
181     
182 
183     return 0;
184 
185 }

 

posted on 2021-11-18 10:06  撞破南墙不回头  阅读(48)  评论(0)    收藏  举报

导航