思路:主要就是整型和字符串型的相互转化,用sprintf实现。拼音数字提前放入数组。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main(){
    char str[100];
    int i,count,sum=0;
    char b[][5]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
    if(scanf("%s",str)!=EOF){  //用while的话会跳不出来循环
        count=strlen(str);
        for(i=count-1;i>=0;i--){
            sum+=str[i]-'0';  //累加数字
        }
    }
    sprintf(str,"%d",sum);  // 将任意类型数据按某种格式转换成字符串
    for(i=0;str[i]!=0;i++){
        if(i>0)
        printf(" ");
        printf("%s",b[str[i]-'0']);
    }
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。