题目信息:
1005. Spell It Right (20)
Given a non-negative integer N, your task is to compute the sum of all the digits of N, and output every digit of the sum in English.
Input Specification:
Each input file contains one test case. Each case occupies one line which contains an N (<= 10100).
Output Specification:
For each test case, output in one line the digits of the sum in English words. There must be one space between two consecutive words, but no extra space at the end of a line.
Sample Input:12345Sample Output:
one five
代码如下:
#include <iostream>
#include <stack>
#include <iterator>
#include <algorithm>
using namespace std;
int main()
{
char *str[10] = { "zero", "one", "two", "three", "four", "five",
"six", "seven", "eight", "nine" };
unsigned int sum = 0;
char ch[101];
cin >> ch;
for (int i = 0; ch[i] != '\0'; i++)
{
sum += ch[i] - '0';
}
stack<int> res;
if (sum == 0)
res.push(0);
while (sum)
{
res.push(sum % 10);
sum /= 10;
}
cout << str[res.top()];
res.pop();
while (!res.empty())
{
cout << " " << str[res.top()];
res.pop();
}
cout << endl;
return 0;
}
SpellItRight 英文数字拼写

本文介绍了一个计算非负整数各位数字之和,并将该和的每个数字用英文单词输出的编程问题。文章提供了一段使用 C++ 实现的示例代码,通过堆栈逆序输出英文单词来解决此问题。
395

被折叠的 条评论
为什么被折叠?



