读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。
输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:
1234567890987654321123456789
输出样例:
yi san wu
1 #include<stdio.h> 2 #include<stdlib.h> 3 4 int main() 5 { 6 int sum = 0,i=0; 7 int s1,s2,s3; 8 char temp; 9 char py[10][5]= { "ling","yi","er","san","si","wu","liu","qi","ba","jiu"}; 10 while( (temp=getchar())!=‘\n‘ && i<101) 11 { 12 sum += ( temp-‘0‘); //读入的数小于10的100次方,故至多有100位, 13 //故加起来的和小于9*100,即sum是三位数 14 i++; 15 } 16 s3 = sum/100; //百位 17 s2 = ( sum/10 )%10; //十位 18 s1 = sum%10; //个位 19 if( s2==0 && s3==0) //百位十位为0 20 printf("%s",py[s1]); 21 else if( s3==0 && s2!=0 ) //百位为0 22 printf("%s %s",py[s2],py[s1]); 23 else printf("%s %s %s",py[s3],py[s2],py[s1]); 24 return 0; 25 }