思路
如果要计算某个数的每一位的话,可以当作string类型输入,如果想求某个整数类型的每一位的话,可以用to_string函数。
1.用string类型输入a
2.遍历a的每一位,求出每一位的和sum
3.将sum转换为string
4.遍历上一步骤的string,输出对应位的的单词
5.输出的时候,如果是第一个则不在前面输出空格,否则的话就输出空格
代码
#include<iostream>
#include<string>
using namespace std;
int main(){
string a;
//用string类型输入a
cin >> a;
//计算a每一位的和
int sum = 0;
for(auto t : a)
sum += t - '0';
//将sum转换为字符串
string res = to_string(sum);
//打表
char words[10][10] = {
"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"
};
//输出结果
for(int i = 0; i < res.size(); i ++ ){//从最高位开始遍历
if(i) cout << " ";//不是第一个就输出空格
cout << words[res[i] - '0'];
}
return 0;
}