Note:
一开始不会用to_string(),就一位位把数值算出来放到数组里再逐位输出。但这样在sum=0时需要单独考虑(样例3)。
Code:
#include<iostream>
#include<string>
using namespace std;
int main() {
string s;
cin >> s;
int sum = 0;
int cnt = s.length();
for (int i = 0; i < cnt; i++)
{
sum += s[i] - '0';
}
string a = to_string(sum);
string arr[10] = { "zero","one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };
cnt = a.length();
for (int i = 0; i < cnt; i++)
{
if (i != 0)
cout << " " << arr[a[i] - '0'];
else
cout << arr[a[i] - '0'];
}
return 0;
}