设计一个程序,当用户输入一个不超过四位的整数时,能够正确地将其转换并朗读出该数字的中文读法(例如,输入1234会输出‘一千二百三十四’)用cpp生成
时间: 2024-10-15 14:27:45 浏览: 63
设计一个C++程序来将四位整数转换成中文读法,你可以使用`std::map`来存储每个数字对应的中文字符,然后通过字符串拼接的方式构建中文读音。以下是一个简单的示例:
```cpp
#include <iostream>
#include <map>
#include <string>
std::map<int, std::string> digit_to_chinese = {
{0, "零"},
{1, "一"},
{2, "二"},
{3, "三"},
{4, "四"},
{5, "五"},
{6, "六"},
{7, "七"},
{8, "八"},
{9, "九"},
};
std::string convert_to_chinese(int num) {
if (num < 10) return digit_to_chinese[num];
else {
std::string chinese = "";
if (num >= 1000) {
chinese += digit_to_chinese[num / 1000] + "千";
num %= 1000;
}
if (num >= 100) {
chinese += digit_to_chinese[num / 100] + "百";
num %= 100;
}
if (num >= 10) {
chinese += digit_to_chinese[num / 10] + "十";
num %= 10;
}
// 如果还有余数,表示一位数,直接添加到字符串
if (num > 0)
chinese += digit_to_chinese[num];
return chinese;
}
}
int main() {
int input;
std::cout << "请输入一个不超过四位的整数: ";
std::cin >> input;
if (input <= 0 || input >= 10000) {
std::cerr << "错误:输入的数字超过四位!" << std::endl;
return 1;
}
std::string result = convert_to_chinese(input);
std::cout << "该数字的中文读法是: " << result << std::endl;
return 0;
}
```
阅读全文