读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:
每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10
100
。
输出格式:
在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:
1234567890987654321123456789
输出样例:
yi san wu
题解:
在解题的时候是0,1,2,3,4,5,6,7,8,9共10个数字。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char a[110000];
int c[1100];
int i,l,b,s,j;
s=0;
scanf("%s",a);
l=strlen(a);
for(i=0; i<l; i++)
{
b=a[i]-'0';
s=s+b;
}
j=0;
if(s==0)printf("ling\n");
else
{
while(s)
{
c[j++]=s%10;
s=s/10;
}
for(i=j-1; i>0; i--)
{
if(c[i]==0)printf("ling ");
if(c[i]==1)printf("yi ");
else if(c[i]==2)printf("er ");
else if(c[i]==3)printf("san ");
else if(c[i]==4)printf("si ");
else if(c[i]==5)printf("wu ");
else if(c[i]==6)printf("liu ");
else if(c[i]==7)printf("qi ");
else if(c[i]==8)printf("ba ");
else if(c[i]==9)printf("jiu ");
}
if(c[0]==0)printf("ling\n");
if(c[0]==1)printf("yi\n");
else if(c[0]==2)printf("er\n");
else if(c[0]==3)printf("san\n");
else if(c[0]==4)printf("si\n");
else if(c[0]==5)printf("wu\n");
else if(c[0]==6)printf("liu\n");
else if(c[0]==7)printf("qi\n");
else if(c[0]==8)printf("ba\n");
else if(c[0]==9)printf("jiu\n");
}
return 0;
}