C++ 试图从哨兵循环中输出所有奇数,几乎得到了它,但不是完全得到了它,并且想知道我为什么要做需要做的事情

C++ 试图从哨兵循环中输出所有奇数,几乎得到了它,但不是完全得到了它,并且想知道我为什么要做需要做的事情,c++,C++,嗨,所以我要写这个程序,写一个哨兵控制的while循环。 要求用户输入整数。输出所有奇数。当值为以下值时,程序退出: -输入999。除了输入多个数字和只输出奇数外,我的大多数程序运行正常。我创建了下面的程序,它在-999退出程序,并要求输入和输出奇数,但是我试着让它去做程序所需要的事情,并且在让它输入多个整数和只输出奇数时遇到了问题。我的程序贴在下面 #include <iostream> using namespace std; int main() { const in

嗨,所以我要写这个程序,写一个哨兵控制的while循环。 要求用户输入整数。输出所有奇数。当值为以下值时,程序退出: -输入999。除了输入多个数字和只输出奇数外,我的大多数程序运行正常。我创建了下面的程序,它在-999退出程序,并要求输入和输出奇数,但是我试着让它去做程序所需要的事情,并且在让它输入多个整数和只输出奇数时遇到了问题。我的程序贴在下面

#include <iostream>
using namespace std;

int main()
{
    const int SENTINEL = -999;
    int num;

    cout << "Enter a number to stop enter -999  " << endl;
    cin >> num;

    while (num != SENTINEL)
    {
        if (num % 2 != SENTINEL)
            cout << "odd integer is: "  << num << endl;
        cout << " Enter a number " << endl;
        cin >> num;
    }
    return 0;
}
#包括
使用名称空间std;
int main()
{
const int SENTINEL=-999;
int-num;
库特数;
while(num!=哨兵)
{
如果(数量%2!=哨兵)

cout要测试num是否为奇数,请使用:

if(num%2)
而不是
if(num%2!=SENTINEL)


因为余数是用%模运算符除以2计算出来的,如果它不是零,这个整数是奇数,你的测试
!=SENTINEL
就没有意义了。

这里有一个简单的方法来解决这个问题,它永远不会失败。只需拿出一张空白纸,用简短的句子写下来简单的英语,一步一步的过程。当我们完成时,我们不会为其他人编写代码,在StAcExoPad上。我们总是把这些问题提到你的橡皮鸭。在你的橡皮鸭批准你提出的行动计划后,只需把你写下来的东西直接翻译成C++。任务完成了!考虑什么“COD”。e> 如果(num%2!=SENTINEL)
有。如果确定一个数字是奇数,您的说明中是否有任何内容表明应该包含SENTINEL值?