给定一个非负整数 NN,你的任务是计算 NN 的所有数字的总和,并以英语输出总和的每个数字。
输入格式
共一行,包含一个整数 NN。
输出格式
共一行,用英语输出总和的每个数字,单词之间用空格隔开。
数据范围
0≤N≤10100
思路:(字符串解法)
- 因为输入数值较大,所以用字符串输入
- 将0~9用二维数组表示
#include <iostream> #include <string> using namespace std; int main(){ string num; cin>>num; int sum=0; for(auto c : num) { sum += c - '0'; } char number[10][10]={ "zero","one","two","three","four","five", "six","seven","eight","nine" }; string s=to_string(sum); cout<<number[s[0]-'0']; for(int i=1;i<s.size();i++){ cout<<' '<<number[s[i]-'0']; } return 0; }