ページ 1 / 1
3つの値
Posted: 2017年11月20日(月) 08:51
by エドシーラン
お世話になります。
この実行例のelseを使わないなるべく簡単なプログラムを教えてください。
整数A:12
整数B:12
整数C:12
三つの値は等しいです。
三つの整数を入力してください。
整数A:8
整数B:10
整数C:8
二つの値が等しいです。
三つの整数を入力してください。
整数A:10
整数B:6
整数C:100
三つの値は異なります。
Re: 3つの値
Posted: 2017年11月20日(月) 10:44
by かずま
エドシーラン さんが書きました:
この実行例のelseを使わないなるべく簡単なプログラムを教えてください。
これは簡単なプログラムと言えますか?
コード:
#include <stdio.h>
int main(void)
{
while (1) {
int a, b, c;
puts("\n三つの整数を入力してください。");
printf("整数A: "); if (scanf("%d", &a) != 1) break;
printf("整数B: "); if (scanf("%d", &b) != 1) break;
printf("整数C: "); if (scanf("%d", &c) != 1) break;
switch ((a == b) + (b == c) + (c == a)) {
case 0: puts("三つの値は異なります。"); break;
case 1: puts("二つの値が等しいです。"); break;
case 3: puts("三つの値は等しいです。"); break;
}
}
return 0;
}
Re: 3つの値
Posted: 2017年11月20日(月) 11:31
by かずま
これはどうですか?
コード:
int d = (a == b) + (b == c) + (c == a);
puts(d==0 ? "三つの値は異なります。" :
d==1 ? "二つの値が等しいです。" :
"三つの値は等しいです。");
質問をよく読んだら、これは問題の丸投げにも見えます。
フォーラムルールに反しています。自分で考えたことを
示すために、else を使ったものでもいいし、簡単でなくても
いいですから、何らかのプログラムを提示してください。