首页 > 代码库 > 写出这个数 (20)

写出这个数 (20)

读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100

输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。

输入样例:

1234567890987654321123456789

输出样例:

yi san wu


 1 #include <stdio.h>
 2 #include <string.h>
 3  
 4 void print_num(int num)
 5 {
 6         char num_str[4] = {0};
 7         sprintf(num_str,"%d", num);
 8         char * temp = num_str;
 9         while(*temp != \0)
10         {
11                 switch(*temp)
12                 {
13                         case 0: 
14                                 printf("ling");
15                                 break;
16                         case 1:
17                                 printf("yi");
18                                 break;
19                         case 2:
20                                 printf("er");
21                                 break;
22                         case 3:
23                                 printf("san");
24                                 break;
25                         case 4:
26                                 printf("si");
27                                 break;
28                         case 5:
29                                 printf("wu");
30                                 break;
31                         case 6:
32                                 printf("liu");
33                                 break;
34                         case 7:
35                                 printf("qi");
36                                 break;
37                         case 8:
38                                 printf("ba");
39                                 break;
40                         case 9:
41                                 printf("jiu");
42                                 break;
43                         default:
44                                 break;
45                 }
46                 temp++;
47                 if (*temp != \0)
48                         printf(" ");
49                 else
50                         printf("\n");
51         }
52 }
53  
54 int main(int argc, char *argv[])
55 {
56         char num[101] = {0};
57         char *temp = num;
58         int total = 0;
59         scanf("%s",num);
60         while(*temp != \0)
61         {
62                 total += (*temp - 0);
63                 temp++;
64         }
65         print_num(total);
66         return 0;
67 }

 

写出这个数 (20)