题目描述
给定一个非负整数 NN,你的任务是计算 NN 的所有数字的总和,并以英语输出总和的每个数字。
输入格式
共一行,包含一个整数 NN,整数 NN 可能会出现前导0,比如:00123,对应的整数是123。
输出格式
共一行,用英语输出总和的每个数字,单词之间用空格隔开。
样例
输入数据 1
12345
输出数据 1
one five
数据范围
0 ≤ N≤
思路
1、声明一个string数组来存上0-9的英文单词
2、输入:声明一个string变量,将其转换成单字符存到char数组里
3、输出:将存到char数组的字符转换成数字,循环输出对应的string数组元素
#include<iostream>
using namespace std;
char a[105];
string d[10] = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
string s;
int b[105], ans, x;
int main() {
cin >> s;
for(int i = 0; i < s.size(); i++){
a[i] = s[i];
ans += (a[i] - '0');
}
while(ans){
int num = ans % 10;
b[x++] = num;
ans /= 10;
}
for(int i = x - 1; i >= 0; i--){
cout << d[b[i]] << ' ';
}
return 0;
}