c++程序必须输入三个整数,并确定其中是否至少有一个偶数和至少一个奇数。 输入:包含三个数字的字符串。 输出:YES,如果输入的数字中至少有一个偶数和至少一个奇数, No – 否则。
时间: 2024-09-24 14:08:53 浏览: 43
在 C++ 中,为了判断输入的三个整数中是否至少有一个偶数和至少一个奇数,你可以使用 `std::stoi` 函数将输入的字符串转换为整数,然后检查它们的模(%)是否为 0 来判断奇偶性。以下是相应的代码:
```cpp
#include <iostream>
#include <string>
bool hasEvenAndOdd(const std::string& numbers) {
int num1, num2, num3;
std::istringstream iss(numbers);
if (!(iss >> num1 >> num2 >> num3)) { // 检查能否成功读取所有整数
std::cerr << "Invalid input!" << std::endl;
return false;
}
bool evenFound = false, oddFound = false;
for (int i = 0; i < 3; ++i) {
if (num1 % 2 == 0) { // 偶数
evenFound = true;
} else if (num1 % 2 != 0) { // 奇数
oddFound = true;
}
num1++;
}
return evenFound && oddFound;
}
int main() {
std::string input;
std::cout << "请输入包含三个数字的字符串: ";
getline(std::cin, input); // 读取完整行,包括空格
if (hasEvenAndOdd(input)) {
std::cout << "YES" << std::endl;
} else {
std::cout << "NO" << std::endl;
}
return 0;
}
```
这个程序会提示用户输入一个包含三个整数的字符串,然后检查其中是否有至少一个偶数和一个奇数。如果没有满足条件,则输出 "NO";反之,输出 "YES"。
阅读全文