给定一个非负整数 N N N,你的任务是计算 N N N 的所有数字的总和,并以英语输出总和的每个数字。
输入格式
共一行,包含一个整数 N N N。
输出格式
共一行,用英语输出总和的每个数字,单词之间用空格隔开。
数据范围
0 ≤ N ≤ 1 0 100 0≤N≤10^{100} 0≤N≤10100
输入样例:
12345
输出样例:
one five
分析:模拟
代码:
#include<bits/stdc++.h>
using namespace std;
int k,sum;
string s;
string x[10],ans[1000];
int main(){
x[0]="zero";
x[1]="one";
x[2]="two";
x[3]="three";
x[4]="four";
x[5]="five";
x[6]="six";
x[7]="seven";
x[8]="eight";
x[9]="nine";
cin>>s;
for(int i=0;s[i];i++){
sum+=s[i]-'0';
}
if(!sum) ans[k++]=x[0];
while(sum){
ans[k++]=x[sum%10];
sum/=10;
}
for(int i=k-1;i>=0;i--) cout<<ans[i]<<" ";
}