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

問 1(提出プログラム名:ex0801.c)

このプログラム(ex0801.c)をダウンロードし,その中の関数 print_divisor を完成させなさい
関数 print_divisor は,引数で与えられた整数 n について,その約数を実行例のように出力するものとする.
ただし,関数 main の内容は一切書き換えないこと.
また,n は 2 以上の整数であると仮定してプログラムを作ってよい.

【ヒント】
関数 print_divisor は以下の手順で作るとよいです:
① まず「 の約数は以下の通りです:」と出力する(末尾は改行).(n の値とする.)
② 次に(for 文か while 文を使い,)k = 1 ~ n について,kn の約数かどうか(nk で割った時の余りが 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) ]