演習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」と判断されるのでダメです。
書籍情報
コメント