問 1(提出プログラム名:ex0801.c)
このプログラム(ex0801.c)をダウンロードし,その中の関数 print_divisor を完成させなさい.
関数 print_divisor は,引数で与えられた整数 n について,その約数を実行例のように出力するものとする.
ただし,関数 main の内容は一切書き換えないこと.
また,n は 2 以上の整数であると仮定してプログラムを作ってよい.
【ヒント】
関数 print_divisor は以下の手順で作るとよいです:
① まず「▲ の約数は以下の通りです:」と出力する(末尾は改行).(▲ は n の値とする.)
② 次に(for 文か while 文を使い,)k = 1 ~ n について,k が n の約数かどうか(n を k で割った時の余りが 0 か)を調べ,約数ならば k を出力する.
- 【プログラムの実行結果】(その1)※赤字は実行時にキーボードから入力する内容
2 以上の整数を入力してください:15 15 の約数は以下の通りです:⏎ 1⏎ 3⏎ 5⏎ 15⏎
- 【プログラムの実行結果】(その2)※赤字は実行時にキーボードから入力する内容
2 以上の整数を入力してください:2 2 の約数は以下の通りです:⏎ 1⏎ 2⏎
【過去にあったミス(実際に減点となり,やり直しを命じられた例)】
■ 実行の画面出力が上の例と違う(きちんと確認していない).
(例1)出力される約数に 1 や n が含まれていない.
(例2)「n の約数は以下の通りです:」とアルファベット表記になってしまっている.
あるいは特定の数字(15 など)に固定されてしまっている.
(例3)約数の出力順序が大きい順(降順)になってしまっている.
■ 注意書きを見落としていて main 関数の中身を書き換えてしまっている.
■ インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).
ミスが無いことを確認したら次の問題へ → [ 問2 (ex0802.c) ]