所以我需要我的帮助来更正我的代码,该代码已分配给我的编程类分配。我的活动是为从1到99的整数打印可被5整除的数字。因此,我尝试这样编写代码:
#include <iostream>
using namespace std;
int main () {
int num, min, max;
cout << "Enter Number: ";
cin >> num;
min = 1;
max = 99;
if (num > min || num < max) {
if (num % 5 == 0) {
cout << "Divisible.";}
else {
cout << "Not Divisible";}
}
else {
if (num % 5 == 0) {
cout << "Error Input.";}
else {
cout << "Error input.";}
}
return 0;
}
因此,当我编译并运行时,我测试是否输入5的整数倍。当我输入0时,它说“错误输入”,这是正确的。但是,当我输入100时,它表示“可除”而不是“错误输入”。我的代码的正确输入是什么?
答案 0 :(得分:1)
输入是1到99之间的整数,这意味着它应该>> 1 AND <= 99。
所以,只需更改
if (num > min || num < max)
到
if (num >= min && num <= max)
答案 1 :(得分:0)
您在第一条 if 语句中犯了一个错误。当您提供 OR 运算符时,即使仅满足一个条件,它也会返回true。
您应使用 AND 运算符使代码按预期工作。
此外,您也不必使用min
和max
变量,这会使程序变得不必要的大(尽管只有2行,但仍然如此)。