对于这题来说,刚开始思路是对的,过程也是对的,但是小错误太多了。
#include<bits/stdc++.h> using namespace std; int main() { string s; cin>>s; int sum=0; for(int i=0;s[i]!='\0';i++) { sum+=s[i]-'0'; } string s1[10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"}; int num[100]={0}; int z=0; while(sum>0) { num[z]=sum%10; sum/=10; z++; } int flag=0; for(int i=z-1;i>=0;i--) { if(flag) cout<<" "; cout<<s1[num[i]]; flag=1; } return 0; }
首先s1的元素没写完,二是把z=0,放到while循环里了,三是这步cout<<s1[num[i]]; 开始没写对。
总结:不要当过每个细节,努力做好每一步。