11 if 文 演習問題

10章で学んだ if 文の内容を実際にコードを書いて確認する。
各問題とも骨格を用意しているので、中身を自分で埋めて実行しよう。


📝 11-1 3の倍数判定

整数を入力し、3の倍数なら「3の倍数です」、そうでなければ「3の倍数ではありません」と表示せよ。

11_01_multiple3.c
#include <stdio.h>

int main(void)
{
    int x;
    printf("整数を入力してください: ");
    scanf("%d", &x);

    /* ここに if 文を書く */

    return 0;
}
ヒントを表示

x % 3 == 0 で3の倍数かどうかを判定する。

答えの例を表示
#include <stdio.h>

int main(void)
{
    int x;
    printf("整数を入力してください: ");
    scanf("%d", &x);

    if (x % 3 == 0) {
        printf("3の倍数です¥n");
    } else {
        printf("3の倍数ではありません¥n");
    }

    return 0;
}

📝 11-2 ゼロ除算を防ぐ

2つの整数 a, b を入力し、b が 0 でなければ a ÷ b の結果を表示し、
b が 0 なら「0で割ることはできません」と表示せよ。

11_02_divSafe.c
#include <stdio.h>

int main(void)
{
    int a, b;
    printf("2つの整数を入力してください(スペース区切り): ");
    scanf("%d %d", &a, &b);

    /* ここに if 文を書く */

    return 0;
}
⚠ ゼロ除算(0で割る操作)は実行時エラーになりプログラムが強制終了する。
「割る前に確認する」のはエンジニアの基本的な責任。
答えの例を表示
#include <stdio.h>

int main(void)
{
    int a, b;
    printf("2つの整数を入力してください(スペース区切り): ");
    scanf("%d %d", &a, &b);

    if (b != 0) {
        printf("%d ÷ %d = %d¥n", a, b, a / b);
    } else {
        printf("0で割ることはできません¥n");
    }

    return 0;
}

📝 11-3 偶数・奇数の判定

整数を入力し、偶数なら「偶数です」、奇数なら「奇数です」と表示せよ。

11_03_evenOdd.c
#include <stdio.h>

int main(void)
{
    int x;
    printf("整数を入力してください: ");
    scanf("%d", &x);

    /* ここに if 文を書く */

    return 0;
}
答えの例を表示
#include <stdio.h>

int main(void)
{
    int x;
    printf("整数を入力してください: ");
    scanf("%d", &x);

    if (x % 2 == 0) {
        printf("偶数です¥n");
    } else {
        printf("奇数です¥n");
    }

    return 0;
}

📝 11-4 点数による評価(else if)

点数を入力し、以下の基準で評価を表示せよ。

11_04_grade.c
#include <stdio.h>

int main(void)
{
    int score;
    printf("点数を入力してください: ");
    scanf("%d", &score);

    /* ここに if ~ else if ~ else を書く */

    return 0;
}
答えの例を表示
#include <stdio.h>

int main(void)
{
    int score;
    printf("点数を入力してください: ");
    scanf("%d", &score);

    if (score >= 90) {
        printf("A¥n");
    } else if (score >= 70) {
        printf("B¥n");
    } else if (score >= 50) {
        printf("C¥n");
    } else {
        printf("D¥n");
    }

    return 0;
}

📝 11-5 3つの整数の最大値

3つの整数を入力し、最大値を表示せよ。

11_05_max3.c
#include <stdio.h>

int main(void)
{
    int a, b, c;
    printf("3つの整数を入力してください(スペース区切り): ");
    scanf("%d %d %d", &a, &b, &c);

    /* ここに if 文を書く */

    return 0;
}
ヒントを表示

まず a と b を比較して大きい方を max に入れ、次に max と c を比較する。
または一時変数 int max = a; を作って比較していく方法もある。

答えの例を表示
#include <stdio.h>

int main(void)
{
    int a, b, c, max;
    printf("3つの整数を入力してください(スペース区切り): ");
    scanf("%d %d %d", &a, &b, &c);

    max = a;
    if (b > max) { max = b; }
    if (c > max) { max = c; }

    printf("最大値は %d です¥n", max);

    return 0;
}