1

さて、三角形の種類を知るプログラムを作成する必要があります。ユーザーは三角形の各辺のサイズを入力し、三角形の種類 (不等辺、二等辺、正三角形) を出力します。非常に初心者の「プログラマー」(半月未満)ですが、とにかくこれは私が持っているものです:

#include <iostream>


using namespace std;
int main(){

    int num1;
    int num2;
    int num3;

    cout << "first number" << endl;
    cin >> num1;
    cout << "second number" << endl;
    cin >> num2;
    cout << "third number"  << endl;
    cin >> num3;

    if (num1 == num2 == num3){
        cout << "it's equilateral" << endl;
    }

    else if (num1 != num2 != num3){
        cout << "it's scalene" << endl;
    }

    return 0;
}

コードが正しく動作しないのはなぜですか? 例: 最初に 1 を入力し、次に 2 番目に 1 を入力し、3 番目に 2 を入力すると、それはスケーレンであることがわかります。私はただ学んでいます。ありがとう。

4

2 に答える 2

1

問題は次の 2 つの式にあります。

数値 1 == 数値 2 == 数値 3 & 数値 1 != 数値 2 != 数値 3

1、1、2と入力すると

最初の式は 1 == 1 であり、これは true であり、次に true == 2 であり、これは false です。

2 番目の式は次のとおりです。

1 != 1 は false で、次に false != 3 は true なので、文字列 "scalene" が得られます

于 2013-09-24T03:54:34.193 に答える