第8回 条件分岐 (6/11)

今週も引き続き,条件分岐の演習を行います.


前回の演習の答え

1.自然数nを入力し,偶数か奇数か判定する

まず,問題が与えられたら,プログラムの実行手順を考えよう

1. 自然数を入力する

2. 偶数か奇数か判定する

となる.2の内容を詳細に検討しよう.偶数か奇数かを判定するには入力した値を2で割ったあまりで判断してやればよい.

2.1 入力された値を2でわったときのあまりが

2.1T 0のとき 「偶数です」
2.1F 1のとき 「奇数です」

これを,プログラムにしてみよう.


解答例:

#include <stdio.h>

void main()
{
    int n;

    printf("自然数を入力してください"); scanf("%d", &n);

    if(n%2 == 0)
        printf("%dは偶数です\n", n);
    else
        printf("%dは奇数です\n", n);
}

2.テストの点数(0点から100点の整数)を入力し,その値によって,優,良,可,不可を表示する.

点数
成績
80点以上
60点以上80点未満
50点以上60点未満
50点未満
不可

これも,プログラミングにかかる前に,手順を確認しておこう.

1. テストの点数を入力する

2.1 テストの点数が
2.1A 80点以上 「優」
2.1B 60点以上 「良」
2.1C 50点以上 「可」
2.1D それ以外 「不可」


解答例:

#include <stdio.h>

void main()
{
    int n;

    printf("テストの点数を入力してください"); scanf("%d", &n);

    if(n >= 80)
        printf("優\n");
    else if(n >= 60)
        printf("良\n");
    else if(n >= 50)
        printf("可\n");
    else
        printf("不可\n");
}

間違えやすいポイント

× if(a%2 = 0)…

× if(60 <= n < 80)…

どこが間違っているかわかりますか?


演習

1.西暦を入力すると,うるう年かどうか判定するプログラム

  ヒント:うるう年は「4で割り切れかつ100では割り切れない年,もしくは,400で割り切れる年」

2.西暦を入力すると,和暦を答えるプログラム

  ヒント:

明治 1868-1911
大正 1912-1925
昭和 1926-1988
平成 1989-2002

3.二次方程式 の係数 a, b, c を入力すると,どのような種類の解が求まるかを判別式を用いて答えるプログラム.