一开始想用迭代,但是好像做不到在最后一步不输出空格。
#include<stdio.h>
#include<string.h>
int sum(char*a)
{
int i=0,j=0;
while (a[i]!='\0')//做累加
{
j=j+a[i++]-'0';
}
return j;
}
int main()
{
char a[100];//定义字符数组存储输入的数
int b[3];//定义整形数组存储各个位数相加之和
int i,k=0,j=0;
char number[10][5]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
gets(a);
i=sum(a);//求出总和
while(i!=0)
{
b[j++]=i%10;//给数组赋值
i=i/10;
k++;//求总和长度
}
for(j=0;j<k-1;j++)
{
printf("%s ",number[b[k-1-j]]);//输出总和除了最后一位的数
}
printf("%s",number[b[0]]);//输出总和的最后一位
return 0;
}