課題 [8] 関数①(5/9)

問 5(提出プログラム名:ex0805.c)

このプログラム(ex0805.c)をダウンロードし,その中の関数 print_time を完成させなさい
関数 print_time では,引数として与えられた 1 つの整数 time について,その整数が表す時刻を実行例のように出力するものとする.time時刻を 4 桁の整数で表現したものであり,例えば 1305 は 13 時 5 分を意味する.この問題では,時刻として矛盾する整数が入力されることはないと仮定してプログラムを作ってよい.
ただし,関数 main の内容は一切書き換えないこと.

【ヒント】
まず,time100 で割った答え(商)が「時(hour)」に,100 で割った余りが「分(min)」に該当します.
そして,hour が 12 未満ならば午前そうでなければ午後となります.
なお,午後の場合は hour から 12 を引いて出力しないと「午後 13 時」といった変な出力になるので注意してください

  • 【プログラムの実行結果】(その1)赤字は実行時にキーボードから入力する内容
    ※正しく午前になっていることを確認せよ
いま何時何分ですか:915
午前 9 時 15 分ですね
  • 【プログラムの実行結果】(その2)赤字は実行時にキーボードから入力する内容
    ※正しく午後になっていることを確認せよ
いま何時何分ですか:1254
午後 0 時 54 分ですね
  • 【プログラムの実行結果】(その3)赤字は実行時にキーボードから入力する内容
いま何時何分ですか:1332
午後 1 時 32 分ですね

【過去にあったミス(実際に減点となり,やり直しを命じられた例)】
実行の画面出力が上の例と違うきちんと確認していない).
  (例1)実行例2が「午後 12 時 54 分」になっている.
  (例2)実行例3が「午後 13 時 32 分」になっている.
  (例3)午後を誤って「午前」と表示している(あるいは逆に午後を「午前」と表示している).
■ main 関数を書き換えてしまっている.
インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).


ミスが無いことを確認したら次の問題へ → [ 問6 (ex0806.c) ]