3つの値

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
エドシーラン

3つの値

#1

投稿記事 by エドシーラン » 7年前

お世話になります。
この実行例のelseを使わないなるべく簡単なプログラムを教えてください。
整数A:12
整数B:12
整数C:12
三つの値は等しいです。

三つの整数を入力してください。
整数A:8
整数B:10
整数C:8
二つの値が等しいです。
三つの整数を入力してください。
整数A:10
整数B:6
整数C:100
三つの値は異なります。

かずま

Re: 3つの値

#2

投稿記事 by かずま » 7年前

エドシーラン さんが書きました: この実行例の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つの値

#3

投稿記事 by かずま » 7年前

これはどうですか?

コード:

        int d = (a == b) + (b == c) + (c == a);
        puts(d==0 ? "三つの値は異なります。" :
             d==1 ? "二つの値が等しいです。" :
                    "三つの値は等しいです。");
質問をよく読んだら、これは問題の丸投げにも見えます。
フォーラムルールに反しています。自分で考えたことを
示すために、else を使ったものでもいいし、簡単でなくても
いいですから、何らかのプログラムを提示してください。

返信

“C言語何でも質問掲示板” へ戻る