演習題7

多方向分岐(switch〜case)


演習7.1(hw7_1.c)
キーボードから入力された文字が、`a'なら``Apple'',`b'なら``Banana''、`c' なら``Cherry''それ以外なら``???''と表示するプログラムをswitch〜case 文を使って作成しなさい。
演習7.2(hw7_2.c)
キーボードから3つの整数値を変数dt1、dt2、desに入力し、desが1であ ればdt1+dt2、2であればdt1-dt2、3であればdt1×dt2、4であればdt1÷dt2、 それ以外ならdt1をdt2で割った余りを求めて表示するプログラムを switch〜caseを使って作成しなさい。
演習7.3(hw7_3.c)
年月日を入力し、生まれた日の曜日とその年が閏年かどうかを表示するプ ログラムを以下の仕様に従って作成しなさい。
曜日コードの算出
入力された月が1月かまたは2月であれば年から1を引き、月に10を足す。それ以外の月であれば月から2を引く。

曜日コード=(y+[y/4]-[y/100]+[y/400]+[2.6*m-0.195]+d)

を7で割った余りただし、yは西暦年、mは月、dは日で[]内は小数点以下切り捨て。
コード    曜日
0         Sunday
1         Monday
2         Tuesday
3         Wednesday
4         Thursday
5         Friday
6         Saturday
閏年の判定
ある年(西暦年)が4で割り切れれば閏年だが、かつ100で割り切れれば閏年ではない。しかし、400で割り切れればやはり閏年である。
入出力仕様(実行例)
Please Input yyyy.mm.dd -> 1990.10.31  ←  入力要求と年月日の入力
DATE  :  1990.10.31                    ←  年月日の表示
NORMAL Year -- Wednesday               ←  閏年かどうかの判定と曜日の表示
~~~~~~~~~~~
   ↑
閏年   : LEAP Year
普通年 : NORMAL Year