課題 [5] for 文(6/9)

問 6(提出プログラム名:ex0506.c)

整数 n を読み込み, 1 以上 n 以下の各整数 i について,実行例と全く同じかたちで i2 個の # (半角のシャープ)と整数 i2 を出力するプログラムをfor 文を使って作りなさい.ただし,if 文を使ってはいけません(以下のヒントを参照せよ).
n は 1 以上 9 以下であると仮定してプログラムを作ってよい.
提出するソースファイル(ソースプログラム)のファイル名は ex0506.c としなさい.

【ヒント】
行の位置を i,列の位置を j で表した for 文の二重ループを作るとよいです.
そして,上から i 行目では # を i*i 個出力することになるので,i を使った for 文の中に
j を使った for 文を次のように書くとよいです:
 for ( j = 1; j <= i*i; j++ ){
  ...

なお,行末に i*i を表示することも忘れないようにしてください.

  • 【プログラムの実行結果】(その1)※赤字は実行時にキーボードから入力する内容
    ※出力する記号 # を間違っていないか,行末に数字も書かれているか,# と数字がくっついてしまっていないかそれぞれ注意せよ.
n を入力してください:7
# 1⏎
#### 4⏎
######### 9⏎
############### 16⏎
########################## 25⏎
#################################### 36⏎
################################################# 49⏎

  • 【プログラムの実行結果】(その2)※赤字は実行時にキーボードから入力する内容
n を入力してください:2
# 1⏎
#### 4⏎

  • 【プログラムの実行結果】(その3)※赤字は実行時にキーボードから入力する内容
n を入力してください:1
# 1⏎

【過去にあったミス(実際に減点となり,やり直しを命じられた例)】
■ 実行の画面出力が上の例と違う(きちんと確認していない).
  (例1)表示に使っている記号が違っている.
  (例2)出力される記号の個数が違っている.
  (例3)行末に数値を表示し忘れている.
■ ヒントを見落としていて,無駄に複雑なプログラムになってしまっている.
■ インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).


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