問題をやってみましょう
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;
}
}
できましたね。
コメント