题意
- 给定一个超大数,输出其各位数字总和的各位数字(英文单词)。
注意
- 使用字符串存储数。
单词
- consecutive 连续的
代码
#include <iostream>
#include <string>
using namespace std;
const int MAX = 101;
char big[MAX];
const string digit[10] = { "zero","one","two","three","four","five","six","seven","eight","nine" };
int main()
{
int p = 0;
int sum = 0;
while (cin >> big[p]) //CTRL+Z 结束输入
{
sum += big[p] - '0';
p++;
}
string s;
s = to_string(sum);
for (int i = 0; i < s.length(); i++)
{
cout << digit[s[i] - '0'];
if (i != s.length() - 1)
cout << " ";
}
return 0;
}
2
#include <iostream>
#include <string>
using namespace std;
string big;
const string digit[10] = { "zero","one","two","three","four","five","six","seven","eight","nine" };
int main()
{
int sum = 0;
cin >> big;
for (int i = 0; i < big.size(); i++) //C++ string size()和length()一样
sum += big[i] - '0';
string s = to_string(sum);
for (int i = 0; i < s.length(); i++)
{
cout << digit[s[i] - '0'];
if (i != s.length() - 1)
cout << " ";
}
return 0;
}

本文介绍了一种处理超大数的方法,并通过C++实现将超大数的各位数字之和转换为英文单词输出。文章提供了两种实现方式,一种采用字符数组存储超大数,另一种则直接使用C++字符串进行操作。

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



