题目描述
给定一个非负整数 �N,你的任务是计算 �N 的所有数字的总和,并以英语输出总和的每个数字。
输入格式
共一行,包含一个整数 �N,整数 �N 可能会出现前导0,比如:00123,对应的整数是123。
输出格式
共一行,用英语输出总和的每个数字,单词之间用空格隔开。
样例
输入数据 1
12345
Copy
输出数据 1
one five
分析:
12345数字总和为1+2+3+4+5=15;
英文状态下15===one five.
代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
int arr[110];
string s;cin>>s;
int sum=0;
for(int i=0;i<s.length();i++){ //s.length()计算S的长度
if(s[i]-'0'>=0&&s[i]-'9'<=0) {
sum+=(s[i]-'0');//计算总和
}
}
int x=0;//数字长度
while(sum){
arr[x++]=sum%10;//取个位
sum/=10;//删除个位
}
for(int i=x-1;i>=0;i--){//开始输出
if(arr[i]==0) cout<<"zero ";
else if(arr[i]==1) cout<<"one ";
else if(arr[i]==2) cout<<"two ";
else if(arr[i]==3) cout<<"three ";
else if(arr[i]==4) cout<<"four ";
else if(arr[i]==5) cout<<"five ";
else if(arr[i]==6) cout<<"six ";
else if(arr[i]==7) cout<<"seven ";
else if(arr[i]==8) cout<<"eight ";
else if(arr[i]==9) cout<<"nine ";
}
return 0;
}