对于这题来说,刚开始思路是对的,过程也是对的,但是小错误太多了。
#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]]; 开始没写对。
总结:不要当过每个细节,努力做好每一步。