『新・明解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」と判断されるのでダメです。

 


書籍情報



Copyright (C) 2016 "HYOGOKURUMI" All Rights Reserved./「来未炳吾・平極ルミ・HYOGOKURUMI」の発達障害考察を主とした全ての発信は、相互不干渉など特別な約束をした者達を除き、どなたでもご活用できます。ただし著作権は放棄しておりません。あしからずご了承ください。詳細は著作権に関するガイドラインをご一読ください。/「HYOGOKURUMI.site」は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイトプログラムである、Amazonアソシエイト・プログラムの参加者です。