题目链接:https://www.patest.cn/contests/pat-b-practise/1002
关键说明:
sprintf(num,"%d",sum);的使用说明
sprintf将数字转化为字符串
第一个是字符串保存的名字
#include<bits/stdc++.h> using namespace std; char s[200]; int a[200]; char num[100]; void slove(int i) { if(i==0) printf("ling"); else if(i==1) printf("yi"); else if(i==2) printf("er"); else if(i==3) printf("san"); else if(i==4) printf("si"); else if(i==5) printf("wu"); else if(i==6) printf("liu"); else if(i==7) printf("qi"); else if(i==8) printf("ba"); else if(i==9) printf("jiu"); } int main() { scanf("%s",s); int len=strlen(s); int sum=0; for(int i=0;i<len;i++) { sum+=(s[i]-'0'); } sprintf(num,"%d",sum); int len1=strlen(num); for(int i=0;i<len1-1;i++) { slove(num[i]-'0'); printf(" "); } slove(num[len1-1]-'0'); printf(" "); return 0; }