1 #include<iostream>
2 #include<cstring>
3 #include<stdio.h>
4 #include<vector>
5 #include<queue>
6 #include<stack>
7 using namespace std;
8 string alpha[10] = {"zero", "one", "two", "three", "four", "five", "six" , "seven", "eight", "nine"};
9 stack<string>ans;
10 void add(string num) {
11 int res = 0;
12 for(int i = 0; i < num.length(); i++) {
13 res += (num[i] - '0');
14 }
15 if(res == 0) { //一个临界条件,因为数据可能包含0的情况,但是下面的while循环如果是0就直接跳出了
16 cout << "zero";
17 return;
18 }
19 while(res) {
20 ans.push(alpha[res%10]);
21 res /= 10;
22 }
23 while(!ans.empty()) {
24 cout << ans.top();
25 ans.pop();
26 if(ans.size() != 0) cout << " "; //要写在pop之后
27 }
28 }
29 int main () {
30 string str;
31 cin >> str;
32 add(str);
33 }