从键盘任意输入两个符号各异的整数,直到两个整数满足要求为止,然后打印这两个数
时间: 2024-12-17 19:19:13 浏览: 16
要从键盘任意输入两个符号各异的整数并重复输入直到它们满足某个条件(这里没有明确指定,我们可以假设直到它们相等),你可以使用一个循环结构和`std::cin`来获取用户的输入。以下是一个简单的示例,我们将持续输入直到用户输入两次相同的整数:
```cpp
#include <iostream>
int main() {
int num1, num2;
std::cout << "请输入第一个整数: ";
while (!(std::cin >> num1)) { // 如果无法正确读取整数,清空输入流并提示用户重新输入
std::cin.clear(); // 清除错误标志
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); // 忽略剩余字符
std::cout << "输入无效,请重新输入一个整数: ";
}
std::cout << "请输入第二个整数: ";
while (true) { // 一直循环直到两次输入相同
if (std::cin >> num2 && num1 == num2) { // 如果成功读取且数字相同
break; // 打破循环
} else if (!std::cin) { // 检查是否有输入错误
std::cerr << "输入无效,请重新输入一个整数: ";
std::cin.clear();
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
} else { // 输入的不是整数,提示用户重新输入
std::cout << "输入无效,请重新输入一个整数: ";
}
}
std::cout << "满足条件的两个数是: " << num1 << " 和 " << num2 << std::endl;
return 0;
}
```
在这个例子中,我们检查了每次输入是否为有效的整数。如果输入不是,我们会清除错误标志,忽略剩余字符,并提示用户重新输入。当用户输入两个相同的整数时,我们跳出循环并输出结果。
阅读全文