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

問 1(提出プログラム名:ex0801a.c)
※講義資料(その1)で説明している内容です

このプログラム(ex0801a.c)をダウンロードし,その中の関数 print_array_stars を完成させなさい
関数 print_array_stars は,引数で与えられた配列 a について,その各要素(整数)とその個数分のシャープ記号(#)を実行例のように出力するものとする.
ただし,関数 main の内容は一切書き換えないこと.
また,配列の長さはマクロ SIZE で定義されており,配列に格納する整数はすべて 0 以上であると仮定してプログラムを作ってよい.
【注意事項】
 ①表示させる整数の桁数(横幅)は 2 桁分とせよ.
 ②表示させるシャープ記号(#)は半角とし,隣の # との間に空白は入れないこと.
 ③作成する関数内で直接 5 と書かないこと(マクロを使うこと).

  • 【プログラムの実行結果】(その1)赤字は実行時にキーボードから入力する内容
    ※整数がきちんと 2 桁分の幅で出力されているか,
    その右の # とくっついてしまっていないか,それぞれ確認せよ
5 個の整数を入力してください:
5 2 10 3 6
 5 #####
 2 ##
10 ##########
 3 ###
 6 ######
  • 【プログラムの実行結果】(その2)赤字は実行時にキーボードから入力する内容
5 個の整数を入力してください:
0 1 2 3 4
 0 
 1 #
 2 ##
 3 ###
 4 ####
  • 【プログラムの実行結果】(その3)赤字は実行時にキーボードから入力する内容
5 個の整数を入力してください:
1 1 1 1 1
 1 #
 1 #
 1 #
 1 #
 1 #

【過去にあったミス(実際に減点となり,やり直しを命じられた例)】
実行の画面出力が上の例と違うきちんと確認していない).
 (例1)整数の桁数指定がなされていない.
 (例2)出力に使用する記号が違っていたり,## の間に不要な空白がある.
■ main 関数を書き換えてしまっている.
インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).


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