策划者游戏打印问题#


#include <iostream>
#include <ctime>

        }
            else if ((array[0]==guess[0]) || (array[0]==guess[1]) || (array[0]==guess[2]) ||(array[0]==guess[3])) {
                cout<<"#";
            }
                else if ((array[1]==guess[0]) || (array[1]==guess[1]) || (array[1]==guess[2]) ||(array[1]==guess[3])) {
                    cout<<"#";                }
            else if ((array[2]==guess[0]) || (array[2]==guess[1]) || (array[2]==guess[2]) ||(array[2]==guess[3])) {
                    cout<<"#";
            }
            else if ((array[3]==guess[0]) || (array[3]==guess[1]) || (array[3]==guess[2]) ||(array[3]==guess[3])) {
                cout<<"#";
            }
        }
}
} 

当一个数字不按顺序排列时,此程序应打印 #。我附上了说明的照片。但是当输入的数字与生成的数字不匹配时,该程序会打印#。fdafbbjds fdb fbd f jdsbf b djsbfhsdfbj jdbfjbdhsf hsbdfhb sdjhfhsdbfhjb d hdsfbhdbsfhdsfb dsfj

else if 语句中,您将猜测值分配给数组(您使用的是 = 而不是 == )。

此外,array[i]==guess[i]的情况已经在 for 循环中进行了检查,从而生成"O"。但是你在 if-else-语句中重复检查这些情况,这会在正确的猜测后附加一个"#"。

最新更新