前言

传送门

正文

思路

详见注释

参考题解

#include<iostream>
#include<string>
#include<vector>
using namespace std;
/*
使用字符串str存储N,遍历字符串str,对每一位字符转为整型数后求和得到sum
对sum中的每一位放入整型可变数组res中,再由字符串数组map映射为英文字母 
*/
int main(){
	string map[10]={"zero","one","two","three","four","five","six","seven","eight","nine"};
	string str;
	int sum=0,num=0;//num表示sum的位数 
	vector<int>res; 
	cin>>str;
	for(int i=0;i<str.size();i++){
		sum+=str[i]-'0';//每一位字符转为整型数后求和 
	}
	do{
		res.push_back(sum%10);
		sum/=10;
	}while(sum!=0);
	for(int i=res.size()-1;i>=0;i--){//注意逆序 
		cout<<map[res[i]];
		if(i!=0)cout<<" ";//注意格式 
	}
	cout<<endl;
	return 0;
}