Dovah520 2021-08-11 11:11 采纳率: 50%
浏览 37
已结题

请问为什么这段代码输出的结果永远是“小猪C”最重?


#include<iostream>
using namespace std;
int main() {
    int weight1 = 0;
    cout << "小猪A的体重为:" << endl;
    cin >> weight1;
    int weight2 = 0;
    cout << "小猪B的体重为:" << endl;
    cin >> weight2;
    int weight3 = 0;
    cout << "小猪C的体重为:" << endl;
    cin >> weight3;
    if (weight1 > weight2 > weight3 && weight1 > weight3 > weight2)
    {
        cout << "小猪A最重" << endl;
    }
    else if (weight2 > weight1 > weight3 && weight2 > weight3 > weight1)
    {
        cout << "小猪B最重" << endl;
    }
    else
    {
        cout << "小猪C最重" << endl;
        
    }
    system("pause");
    return 0;
}
  • 写回答

2条回答 默认 最新

  • CSDN专家-Fay 2021-08-11 11:13
    关注

    if (weight1 > weight2 > weight3 && weight1 > weight3 > weight2)
    这个表达式有问题,不能像数学一样连着写,应该要分开写
    if ((weight1 > weight2 && weight2 > weight3) && (weight1 > weight3 && weight3 > weight2))

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月19日
  • 已采纳回答 8月11日
  • 创建了问题 8月11日