1章〜4章理解度確認問題

自動販売機おつり計算プログラム(jihanki.c)

自動販売機でジュースを買った場合のおつりと、各効果の枚数を計算するプログラムを作成する。

プログラムサンプル

補足

ボーリングスコア計算プログラム(score.c)

ボーリング1ゲームのスコアを複数回入力し、ゲーム数、トータル、アベレージ、ハイゲーム、ローゲームを表示するプログラムを作成する。

プログラムサンプル

作成手順

  1. トータルとアベレージを求め、表示するプログラムを作成する。
  2. 上記プログラムに、ハイゲーム、ローゲームを求める処理を追加する。

万年カレンダー(cal.c)

年、月を入力し、入力された年月のカレンダーを表示するプログラムを作成する。

プログラムサンプル

作成手順

  1. 入力された月の末日が何日であるかを求める。
    123456789101112
    末日312831303130313130313031
  2. 2月の末日は通常は28日だが、入力された年がうるう年の場合29日になるので、うるう年判定を行わなければならない。
    【うるう年判定】
    西暦が4の倍数ならうるう年。
    ただし、100の倍数なら普通年。
    ただし、400の倍数ならうるう年。
  3. 1日の出力位置を求める。曜日によって1日の出力位置が変わるので、1日の曜日を求め、あいている曜日には空白を埋める。
    【曜日を求める(Zellerの公式)】
    西暦y年m月d日の曜日を求める
    w = (5y/4-y/100+y/400+(26m+16)/10+d)%7
    wの値0123456
    曜日
    ただし、1月2月は前年の13月、14月として計算しなければならない。
    (例、2001年2月は2000年14月として計算する)

生年月日から入力日付までの日数を求めるプログラム(nanniti.c)

生年月日と今日の日付を入力し、今日は自分が生まれてから何日目なのかを表示するプログラムを作成する。

★プログラムサンプル

作成手順

例えば生年月日が1972年10月26日、入力した日付が1994年7月6日とする。

  1. 生まれた年の残りの日数を調べる
    365 - (31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 26) = 66
  2. 調べたい年の前年までの日数を調べる
    (365 × 16) + (366 × 5) = 7670
    (普通年が16回、うるう年が5回)
  3. 調べたい年の日数を調べる
    31 + 28 + 31 + 30 + 31 + 30 + 6 = 187
  4. 1+2+3=7923日・・・生まれて7923日目


[ TOP ]