AcWing 1477. 拼写正确
原题链接
简单
作者:
ljhs
,
2021-02-15 12:05:06
,
所有人可见
,
阅读 287
#include<iostream>
using namespace std;
string words[] = {"zero","one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
void dfs(int n){
if(!n) return;
dfs(n / 10);
cout << words[n % 10] << ' ';
}
int main(){
string s;
cin >> s;
int sum = 0;
for(int i = 0; i < s.size(); i++) sum += s[i] - '0';
if(!sum){
cout << words[0] << endl;
return 0;
}
//因为要抠出sum的每一位,然后查表输出,正常做法只能抠出最后一位然后删除最后一位,这样输出顺序是反着的
//用dfs先递归到最后一层,然后从最后一层反向输出即可
dfs(sum);
return 0;
}