标签:
读入一个自然数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 }
标签:
原文地址:http://www.cnblogs.com/entrepre/p/5514710.html