读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:
每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10100。
输出格式:
在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。
#include<stdio.h>
#include<stdlib.h>
int main()
{
char hanyu[][5]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"}; //因为是字符串的存储,素所以要用到二维数组,因为一维数组只能存储单个的字符
char c;
int sum=0;
while(scanf("%c",&c)==1&&c!='\n')//注意scanf("%c",&c)的返回值是获取数据的个数,而不是c的值
{
sum+=c-'0';
}
char str[8];
sprintf(str,"%d",sum);//转入str后,就自动变成相应的数据类型,这里就由整数变成了字符
int i;
for(i=0;str[i]!='\0';i++)
{
if(i==0)
{
printf("%s",hanyu[str[i]-'0']);
}
else
{
printf(" %s",hanyu[str[i]-'0']);
}
}
}