思路
#include<stdio.h>
#include<string.h>
int main(){
char str[110];
gets(str);
int len=strlen(str);
int sum=0;
for(int i=0;i<len;i++){
sum=sum+(str[i]-'0');
}
// printf("sum=%d",sum);
int num=0,ans[10];
while(sum!=0){
ans[num]=sum%10;
num++;
sum=sum/10;
}
// for(int i=num-1;i>=0;i--){
// if(ans[i]==0)
// printf("ling ");
// else if(ans[i]==1)
// printf("yi ");
// else if(ans[i]==2)
// printf("er ");
// else if(ans[i]==3)
// printf("san ");
// else if(ans[i]==4)
// printf("si ");
// else if(ans[i]==5)
// printf("wu ");
// else if(ans[i]==6)
// printf("liu ");
// else if(ans[i]==7)
// printf("qi ");
// else if(ans[i]==8)
// printf("ba ");
// else if(ans[i]==9)
// printf("jiu ");
// }
char change[10][5]={
"ling","yi","er","san","si","wu","liu","qi","ba","jiu"
};
for(int i=num-1;i>=0;i--){
printf("%s",change[ans[i]]);
if(i!=0) printf(" ");//如果i没有到0,即不是最后一次循环,则输出空格
else printf("\n"); //如果是最后一次循环,则输出换行符
//这样写是因为如果没有特别处理,那么最后一个拼音后面会多出一个空格,可能会报格式错误。
//这样写就可以避免格式错误
}
}