1002. 写出这个数

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

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

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

输入样例:
1234567890987654321123456789
输出样例:
yi san wu


 1 #include<stdio.h>
 2 #define N 100
 3 int main()
 4 {
 5 
 6      char n[N],put[N];
 7      char fp[10][5]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
 8      int i=0,sum=0;
 9      int j=0,m=0;
10      gets(n);
11      for(i=0;n[i]!='\0';i++)
12         {
13         sum+=n[i]-'0';
14         }
15      while(sum)
16         {
17         put[j]=sum%10;
18         j++;
19         sum/=10;
20         m++;
21         }
22      for(i=m-1;i>=0;i--)
23      {
24          switch(put[i])
25          {
26              case 0:printf("%s%s",fp[0],i==0?"":" ");break;
27              case 1:printf("%s%s",fp[1],i==0?"":" ");break;
28              case 2:printf("%s%s",fp[2],i==0?"":" ");break;
29              case 3:printf("%s%s",fp[3],i==0?"":" ");break;
30              case 4:printf("%s%s",fp[4],i==0?"":" ");break;
31              case 5:printf("%s%s",fp[5],i==0?"":" ");break;
32              case 6:printf("%s%s",fp[6],i==0?"":" ");break;
33              case 7:printf("%s%s",fp[7],i==0?"":" ");break;
34              case 8:printf("%s%s",fp[8],i==0?"":" ");break;
35              case 9:printf("%s%s",fp[9],i==0?"":" ");break;
36              default:break;
37 
38          }
39      }
40 
41      return 0;
42 }
View Code

 

posted on 2016-05-21 14:30  无名小卒升级中  阅读(237)  评论(0编辑  收藏  举报

导航