用C++编写一个代码将输入的数字2262010207转为对应的英文输出
时间: 2024-09-22 17:04:53 浏览: 23
在C++中,我们可以创建一个简单的函数来转换给定的整数到英文单词形式。这里是一个简单的示例,它只处理1到9的单个数字和多位数的百、千、百万等单位:
```cpp
#include <iostream>
#include <string>
std::string intToEnglish(int num) {
std::string units[] = {"", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
std::string tens[] = {"", "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"};
if (num <= 9)
return units[num];
else if (num < 100) {
return tens[num / 10] + ((num % 10 > 0) ? (" " + units[num % 10]) : "");
} else if (num < 1000) {
return units[num / 100] + " hundred" + ((num % 100 > 0) ? (" " + intToEnglish(num % 100)) : "");
} else {
std::string prefix = "";
if (num >= 1000 && num % 1000 == 0)
prefix = units[num / 1000] + " thousand";
else if (num % 1000 > 0)
prefix += intToEnglish(num / 1000) + " thousand and ";
return prefix + intToEnglish(num % 1000);
}
}
int main() {
int input = 2262010207;
std::cout << "The number in English is: " << intToEnglish(input) << std::endl;
return 0;
}
```
这个程序会打印出 "Two billion two hundred sixty-two million one hundred two thousand seven"。