第五周 2 念整数(5分)

题目内容:

你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。

如输入1234,则输出:

yi er san si

注意,每个字的拼音之间有一个空格,但是最后的字后面没有空格。当遇到负数时,在输出的开头加上“fu”,如-2341输出为:

fu er san si yi

 

输入格式:

一个整数,范围是[-100000,100000]。

 

输出格式:

表示这个整数的每一位数字的汉语拼音,每一位数字的拼音之间以空格分隔,末尾没有空格。

 

输入样例:

-30

 

输出样例:

fu san ling

时间限制:500ms内存限制:32000kb
 
 1 #include<stdio.h>
 2 
 3 void nian(int);
 4 
 5 int main()
 6 {
 7   int d, t, x;
 8   int msk = 1;
 9   scanf("%d", &x);
10   if ( x < 0 ) {
11     printf("fu ");
12     x = -x;
13   }
14   t = x;      //先保存x变量
15 
16   //找出x的位数
17   while(t>9) {    
18     t = t / 10;
19     msk = msk * 10;
20   }
21 
22   while ( msk>0) {
23     d = x / msk;
24      nian(d);
25     if ( msk>9 )
26       printf(" ");
27     x = x % msk;
28     msk = msk / 10;
29   }
30   return 0;
31 }
32 
33 void nian(int d)
34 {
35   switch(d) {
36     case 0: printf("ling"); break;
37     case 1: printf("yi"); break;
38     case 2: printf("er"); break;
39     case 3: printf("san"); break;
40     case 4: printf("si"); break;
41     case 5: printf("wu"); break;
42     case 6: printf("liu"); break;
43     case 7: printf("qi"); break;
44     case 8: printf("ba"); break;
45     case 9: printf("jiu"); break;
46   }
47 
48 }

 

posted @ 2018-02-18 12:10  左揽雀尾007  阅读(292)  评论(0编辑  收藏  举报