練習 [10] ポインタ①(2/5)

練習 2(提出プログラム名:p1002a.c)

まず,このプログラム(p1002a.c)をダウンロードしなさい.
p1002a.c では,整数(ただし,10 以上と仮定してよい)を読み込んで int 型変数 x に格納した後,
関数 round1 を使ってx の値」を「x の 1 の位を四捨五入した値」に書き換え,
最後に書き換え後の x を表示させている.

関数 round1 を完成させなさい
ただし,round1 の宣言は void round1( int *px ) で始めるものとし,これを変更してはいけません
あわせて,main 関数の内容を変更してもいけません

【ヒント】
四捨五入を行う方法はいくつかありますが,例えば,
x を 10 で割った余り(仮に d とします)を求めれば,それが 1 の位の数字になりますのでそれを使うという手があります: d < 5 かどうか切り捨て切り上げのいずれになるかが決まります.

  • 【プログラムの実行例】(その1)赤字は実行時にキーボードから入力する内容
整数を 1 つ入力してください:53
1 の位を四捨五入した値 = 50
  • 【プログラムの実行例】(その2)赤字は実行時にキーボードから入力する内容
整数を 1 つ入力してください:16
1 の位を四捨五入した値 = 20
  • 【プログラムの実行例】(その3)赤字は実行時にキーボードから入力する内容
整数を 1 つ入力してください:315
1 の位を四捨五入した値 = 320

【過去にあったミス(減点となり,やり直しを命じられる)】
3 種類の実行例を確認せずに提出してしまっている.
 例えば,切り捨てと切り上げの判定を間違っている.
round1引数や戻り値の型を変更してしまっている.
main 関数を書き換えてしまっている.
インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).


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