/*读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式: 每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。 输出格式: 在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。 输入样例: 1234567890987654321123456789 输出样例: yi san wu */ #include <stdio.h> void shuchu(int x); int main(){ char n; int a,b,s=0; scanf("%c",&n); while(n!='\n') { s+=n-'0'; scanf("%c",&n); } shuchu(s); return 0; } void shuchu(int x) { if(x<0) { printf("fu "); x=-x; } int mask = 1; int t = x; while ( t>9 ) { t /= 10; mask *=10; } do { int d = x / mask;
switch(d) { case 0: printf("ling");break; case 1: printf("yi");break; case 2: printf("er");break; case 3: printf("san");break; case 4: printf("si");break; case 5: printf("wu");break; case 6: printf("liu");break; case 7: printf("qi");break; case 8: printf("ba");break; case 9: printf("jiu");break; } if(mask>9)printf(" "); x %= mask; mask /= 10; } while ( mask > 0 ); return; } |
|