pat 1002. 写出这个数 (20)

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

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

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

输入样例:

1234567890987654321123456789

输出样例:

yi san wu

 1 #include <iostream>
 2 #include <cstring>
 3 using namespace std;
 4 void output(int sum)
 5 {
 6     if (sum<=9)
 7     {
 8         switch(sum)
 9         {
10         case 0:cout<<"ling";break;
11         case 1:cout<<"yi";break;
12         case 2:cout<<"er";break;
13         case 3:cout<<"san";break;
14         case 4:cout<<"si";break;
15         case 5:cout<<"wu";break;
16         case 6:cout<<"liu";break;
17         case 7:cout<<"qi";break;
18         case 8:cout<<"ba";break;
19         case 9:cout<<"jiu";break;
20         }
21     }
22     else {
23           output(sum/10);
24           cout<<" ";
25           output(sum%10);
26     }
27 }
28 
29 int main ()
30 {
31     char c[101];
32     int sum=0;
33     gets(c);
34     for(int i=0;c[i]!='\0';i++)
35         sum+=(c[i]-'0');
36     //cout<<sum<<endl;
37     output(sum);
38   //system("pause");
39   return 0;
40 }
View Code

 

posted @ 2016-05-15 09:01  琴影  阅读(337)  评论(0编辑  收藏  举报