4-4 switch文演習

問題をやってみましょう

switch文を使用して以下の演習問題をやってみましょう。

問題1 点数判定

int型の変数 tensu にテストの点をセットして以下の判定(カッコ内)を表示してください。
60点未満なら「再試験です」
60点以上~80点未満なら「合格です」
80点以上なら「エクセレントです」
1回目は tensu = 30 で実行し、2回目以降は、60, 80. 90で実行してください。

問題2 通知表判定

char型の変数 rank に通知表のランクの文字列a,b,cをセットして以下の評価文字列(カッコ内)を表示してください。尚、a,b,cは大文字のA,B,Cの場合もあります。どちらも処理できるようにしてください。
a または A ならば「A評価です」
b または B ならば「B評価です」
c または C ならば「C評価です」
1回目は rank = 'a' で実行し、2回目以降は、'A','b','B','c'.'C' で実行してください。

解答1

これは1例です。色々な解答があるでしょう。

#include <stdio.h>

int main()
{
    int tensu = 80, iw;

    iw = tensu / 10; //切り捨て

    switch (iw) {
        case 0:
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
            printf("再試験です\n");
            break;
        case 6:
        case 7:
            printf("合格です\n");
            break;
        default:
            printf("エクセレントです\n");
    }
}

解答2

A,B,C以外が来たら、どうなるでしょう?

include <stdio.h>

int main()
{
    char rank = 'd';

    switch (rank) {
        case 'a':
        case 'A':
            printf("A評価です\n");
            break;
        case 'b':
        case 'B':
            printf("B評価です\n");
            break;
        case 'c':
        case 'C':
            printf("C評価です\n");
            break;
    }
}

できましたね。

コメント

タイトルとURLをコピーしました