以字符串的形式输入,将字符串的所有数转为数字和ans加起来,然后用vector存每一位的结果,再将其转化成英文。
同时,要注意输入长度,以及ans可能为0;
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
string s;
string st[10] ={"zero","one","two","three","four","five","six","seven","eight","nine"};
int main(){
cin >> s;
ll ans = 0;
int len = s.size();
for(int i = 0; i < len; i++){
ans += (1ll)*(s[i] - '0');
}
vector<int> aa;
if(ans == 0){
cout << st[0] << endl;
return 0;
}
while(ans){
aa.push_back(ans%10);
ans /= 10;
}
reverse(aa.begin(),aa.end());
for(int i = 0; i < aa.size(); i++){
cout << st[aa[i]];
if(i != aa.size() - 1) cout <<" ";
}
return 0;
}