c++ 请问这个程序哪里出错了?PTA的题,我运行的时候一直在输入值1 1 2,可是好像始终没有跳转到if那里.求带过

img



#include <iostream>
using namespace std;
int main()
{
    int A,B,C;
    cin>>A>>B>>C;
    while((A||B||C<=0)||(A=B=C||A!=B!=C))
    {
        cin.clear();
        cin.sync();
        cin>>A>>B>>C;
    }
    if(A==B) cout<<C<<endl;
    else if(A==C) cout<<B<<endl;
    else cout<<A<<endl;
    return 0;
}

#include <iostream>
using namespace std;
int main()
{
    int A,B,C;
    cin>>A>>B>>C;
    if(A==B&&A!=C) cout<<C<<endl;
    else if(A==C&&A!=B) cout<<B<<endl;
    else if(B==C&&A!=B) cout<<A<<endl;
    return 0;
}

觉得有用的话采纳一下哈

while((A||B||C<=0)||(A=B=C||A!=B!=C))
这句想表达的意思是ABC小于等于0继续输入,ABC都相等继续输入,ABC各不相同继续输入。
显然表达式写错了
改成
while(A<=0||B<=0||C<=0||(A==B&&B==C)||(A!=B&&B!=C&&A!=C)){
}
试试,请采纳,需要积分下载东西