如何在c ++中使用更多的逻辑运算符?

时间:2015-03-10 17:05:22

标签: c++

我的代码正在尝试确定具有以下边长(xyz)的三角形是否是等腰三角形。
它没有用,我的代码是:

if(x == y && y != z || y == y && y != z || x == z && z != y){
    cout << "isosceles triangle" << endl;
}

2 个答案:

答案 0 :(得分:1)

首先,您需要使用( )

分隔每个案例
if((x == y && y != z) || (y == y && y != z) || (x == z && z != y) ){

所以,你可以有一个案件或另一个案件或另一个案件。

第二

y == y && y != z

是错误的(数学上,不是编程)这对于验证等腰三角形是没有意义的。正确的是

y == z && x != z

最终结果是

if((x == y && y != z) || (y == z && x != z) || (x == z && z != y) ){

答案 1 :(得分:0)

我建议使用括号:

if ((x == y && y != z) || (y != z) || (x == z && z!= y))
{
 //...
}

我删除了表达式y == y,因为它总是正确的。