题目描述
给定一个非负整数 NN,你的任务是计算 NN 的所有数字的总和,并以英语输出总和的每个数字。
输入格式
共一行,包含一个整数 NN,整数 NN 可能会出现前导0,比如:00123,对应的整数是123。
输出格式
共一行,用英语输出总和的每个数字,单词之间用空格隔开。
样例
输入数据 1
12345
Copy
输出数据 1
one five
Copy
数据范围
0 ≤ N≤ 10^{100}0≤N≤10100
#include<bits/stdc++.h>
using namespace std;
map<char,string>c;
int main(){
string a;
cin>>a;
c[0]="zero";
c[1]="one";
c[2]="two";
c[3]="three";
c[4]="four";
c[5]="five";
c[6]="six";
c[7]="seven";
c[8]="eight";
c[9]="nine";
int n=0;
vector<string>b;
for(int i=0;i<a.length();i++){
if(a[i]=='0')
continue;
else
n+=int(a[i])-48;
}
while(n>0){
int u=n%10;
b.push_back(c[u]);
n=n/10;
}
for(int i=b.size()-1;i>=0;i--){
cout<<b[i]<<' ';
}
return 0;
}