問 3(提出プログラム名:ex0803.c)
このプログラム(ex0803.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 上でインデントを自動で揃える作業をやっていない).
以上の 3 問は明日(5/31)の 16時までに提出を済ませてください.
(ex0801.c ~ ex0803.c を Moodle から提出してください.)
くれぐれも各問題で記載されている注意事項や「過去にあったミス」を見落とさないようにしてください.なお,コンパイルエラーや無限ループが含まれる場合は総合評価を 0 点とします.
提出後に間違いに気付いた場合,〆切前であれば差し替え(上書き)は可能です.
← [ 問 1 (ex0801.c) ]
← [ 問 2 (ex0802.c) ]
次のページ以降に問 4 ~問 9 があります.
問 4 以降を明日の16時までに早期提出した場合は加点の対象とします
(一部のみを早期提出してもよいです).
※なお,明らかに間違っている(まともに動かない)プログラムを早期提出するのは絶対にやめてください.不正に加点を得ようとした行為と見なして減点とします.
次の問題へ → [ 問4 (ex0804.c) ]