多岐選択はif文でも書くことができます。if文を使って問題5のプログラムを作ると、「season2.c」のようになります。
- #include <stdio.h>
- int main(void)
- {
- int month;
- printf("月を入力してください->");
- scanf("%d", &month);
- if (month >= 3 && month <= 5) {
- printf("春です\n");
- }
- else if (month >= 6 && month <= 8) {
- printf("夏です\n");
- }
- else if (month >= 9 && month <= 11) {
- printf("秋です\n");
- }
- else if (month == 12 || month == 1 || month == 2) {
- printf("冬です\n");
- }
- else {
- printf("月が誤っています\n");
- }
- }
次に、「season2.c」のフローチャートを示します。
このフローチャートの通り、条件式は上から下へと順番にif文が評価されていきます。最初の条件は、変数monthが3~5で、この条件を満たすと「春です」と表示し、以降の処理は行いません。これに対し、monthが最初の条件(3~5)に当てはまらない場合には、次のif文の条件式の評価へと処理が進みます。
こうしたif文による多岐選択の構造は、「IF-THEN-ELSEIF型」と呼ばれ、プログラミングでよく使われます。
それでは、次回の宿題です。
Copyright © ITmedia, Inc. All Rights Reserved.