用c++完成 请在键盘上输入任意2个5位数字,一个拆分成干位,另一个拆分成十位,将结果打 印在控制台。输入和输出要有文字说明。
时间: 2024-09-28 09:12:51 浏览: 19
在 C++ 中,你可以使用 `cin` 从用户那里获取输入,并通过字符串处理来完成这个任务。下面是一个简单的示例程序,它会提示用户输入两个5位数,然后将每个数字分别拆分为千位、百位、十位和个位,并打印出来。
```cpp
#include <iostream>
#include <string>
// 定义函数用于分解并打印数字
void printNumber(int num) {
std::string str = std::to_string(num);
if (str.length() > 4) {
std::cout << "数字超过5位,已截断。\n";
return;
}
int thousand = str[0] - '0';
int hundred = str[1] == '0' ? 0 : str[1] - '0';
int ten = str[2] == '0' ? 0 : str[2] - '0';
int unit = str[3] == '0' ? 0 : str[3] - '0';
std::cout << "千位: " << thousand << ", 百位: " << hundred << ", 十位: " << ten << ", 个位: " << unit << '\n';
}
int main() {
// 提示用户输入第一个5位数字
std::cout << "请输入第一个5位数字: ";
std::string input1;
std::cin >> input1;
// 检查输入是否有效
if (input1.length() != 5 || !std::all_of(input1.begin(), input1.end(), ::isdigit)) {
std::cerr << "无效的输入,请输入一个5位数字。\n";
return 1;
}
// 提示用户输入第二个5位数字
std::cout << "请输入第二个5位数字: ";
std::string input2;
std::cin >> input2;
// 检查输入是否有效
if (input2.length() != 5 || !std::all_of(input2.begin(), input2.end(), ::isdigit)) {
std::cerr << "无效的输入,请输入一个5位数字。\n";
return 1;
}
// 分解并打印数字
printNumber(stoi(input1));
printNumber(stoi(input2));
return 0;
}
```
运行此程序时,记得提供两个5位数字作为输入。例如:
```
请输入第一个5位数字: 12345
请输入第二个5位数字: 67890
```
这将会输出:
```
千位: 1, 百位: 2, 十位: 3, 个位: 4
千位: 6, 百位: 7, 十位: 8, 个位: 9
```
阅读全文