写出这个数 (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 }

 

posted @ 2016-12-15 16:48  Jonny-Xhl  阅读(325)  评论(0编辑  收藏  举报