#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(){
int total=0;
char n[100];
char *pyin[10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"}; //拼音数组
scanf("%s",n);
for(int i=0;i<strlen(n);i++){ //算出来加和total
total+=n[i]-'0';
}
char output[20];
sprintf(output,"%d",total); //把数字变成字符串存进数组里
printf("%s",pyin[(output[0]-'0')]);
for(int i=1;i<strlen(output);i++){
printf(" %s",pyin[(output[i]-'0')]); //打印各位拼音
}
return 0;
}
1.n要定义为字符串,看输入样例那么大的数用int肯定是不够的
2.先把拼音都存进数组,比较方便操作
3.数字变字符串用sprintf 不要用itoa 因为不是C标准函数 PTA不给过
4.数组作为另一个数组下标,方便好用!
5.最后一个拼音后面没有空格就先打印第一个,然后后面打印都在前面加上空格