读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。
输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:
1234567890987654321123456789
输出样例:
yi san wu
1 #include<stdio.h> 2 #include<string.h> 3 void fanyi(int n) 4 { 5 switch(n) 6 { 7 case 1:printf("yi");break; 8 case 2:printf("er");break; 9 case 3:printf("san");break; 10 case 4:printf("si");break; 11 case 5:printf("wu");break; 12 case 6:printf("liu");break; 13 case 7:printf("qi");break; 14 case 8:printf("ba");break; 15 case 9:printf("jiu");break; 16 case 0:printf("ling");break; 17 } 18 } 19 int main() 20 { 21 char a[200]; 22 int sum=0,i,n; 23 gets(a); 24 for(i=0;i<strlen(a);i++) 25 { 26 sum+=a[i]-'0'; 27 } 28 if(sum>=100) 29 { 30 n=sum/100; 31 fanyi(n); 32 printf(" "); 33 sum=sum%100; 34 if(sum>=10) 35 { 36 n=sum/10; 37 fanyi(n); 38 printf(" "); 39 sum=sum%10; 40 fanyi(sum); 41 } 42 else 43 { 44 fanyi(0); 45 printf(" "); 46 fanyi(sum); 47 } 48 } 49 else if(sum>=10) 50 { 51 n=sum/10; 52 fanyi(n); 53 printf(" "); 54 sum=sum%10; 55 fanyi(sum); 56 } 57 else fanyi(sum); 58 return 0; 59 }