『新・明解C言語 入門編 第2版』演習問題解答例 3ー10

演習3ー10

問:右に示すように、三つの整数値を読み込んで、それらの値がすべて等しければ『三つの整数値は等しいです。』と、どれか二つが等しければ『二つの値が等しいです。』と、そうでなければ『三つの値は異なります。』と表示するプログラムを作成せよ。

// Ex0310.c

#include <stdio.h>

int main(void)
{
    int n1, n2, n3;

    printf("三つの整数を入力せよ。\n");
    printf("整数n1:");        scanf("%d", &n1);
    printf("整数n2:");        scanf("%d", &n2);
    printf("整数n3:");        scanf("%d", &n3);

    if (n1 == n2 && n2 == n3) { 
        puts("三つの値は等しいです。");
    }
    else if (n1 == n2 || n1 == n3 || n2 == n3) {
        puts("二つの値が等しいです。");
    }
    else {
        puts("三つの値は異なります。");
    }

    return 0;
}

コメント

 14行目の書き方に要注意。
 「if (n1 == n2 && n2 == n3 && n1 == n3) { 」と書いた人は几帳面すぎ。3つ目の「&& n1 == n3」はいらないです。
 「if (n1 == n2 == n3) { 」は「 (a == b) = c」と判断されるのでダメです。

 


書籍情報


コメント

タイトルとURLをコピーしました