05-2. 念数字(15)

输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出“fu”字。十个数字对应的拼音如下:

0: ling
1: yi
2: er
3: san
4: si
5: wu
6: liu
7: qi
8: ba
9: jiu

 

输入格式:

输入在一行中给出一个整数,如: 1234 。

提示:整数包括负数、零和正数。

输出格式:

在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格。如 yi er san si

输入样例:

-600

输出样例:

fu liu ling ling


 1 #include <stdio.h>
 2 
 3 int main()
 4 {
 5     int n;
 6     scanf("%d", &n);
 7 
 8     if(n < 0) {
 9         printf("fu ");
10         n = -n;
11     }
12     int t = n,mask = 1;
13     while(t > 9) {
14         t /= 10;
15         mask *= 10;
16     }
17     char *s[] = {"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
18     int d;
19     
20     while(mask > 0) {
21         d = n / mask;
22         printf("%s", s[d]);
23         if(mask > 9) {
24             printf(" ");
25         }
26         n %= mask;
27         mask /= 10;
28     }
29 
30     return 0;
31 }

 

posted @ 2014-07-28 22:35  Acalm  阅读(1544)  评论(3编辑  收藏  举报