練習 [5] for 文(3/5)

練習 3(提出プログラム名:p0503.c)

サンプルプログラム 3 (sample3.c) を p0503.c という別の名前のファイルにコピーしなさい.そして,p0503.c を編集して以下の実行例と全く同じ動きをするプログラムを作りなさい.
なお,この問題では必ず for 文を使うこととする.また,if 文も使ってよいが 1 回までとする.

このプログラムではサンプルプログラム 3 と同様に掛け算九九の表を表示するが,その表示は上三角部分のみであり,下三角部分は数字ではなく半角の * 印になっている.

【注意】
下三角部分で * 印を出力するのに際し,単に printf("*"); と書いてしまうと表示部分の横幅が数字と異なりズレてしまうので,適切に空白も出力に含めて printf(" *"); という具合いに数字と揃うように調整すること.
数字の表示幅はサンプルプログラムのまま, 3 桁分(%3d と指定)としなさい.

【ヒント】
* 印を表示している下三角部分は i > j が成立する部分に該当しています.

  • 【プログラムの実行例】※赤字は実行時にキーボードから入力する内容
    【要注意】* の出力で適切に空白も出力させていないと数字と揃わずズレてしまうので注意せよ.
  1  2  3  4  5  6  7  8  9⏎
  *  4  6  8 10 12 14 16 18⏎
  *  *  9 12 15 18 21 24 27⏎
  *  *  * 16 20 24 28 32 36⏎
  *  *  *  * 25 30 35 40 45⏎
  *  *  *  *  * 36 42 48 54⏎
  *  *  *  *  *  * 49 56 63⏎
  *  *  *  *  *  *  * 64 72⏎
  *  *  *  *  *  *  *  * 81⏎

【過去にあったミス(減点となり,やり直しを命じられる)】
■ 上の実行例と表示が微妙に違っている(きちんと確認していない).
 (例1)出力する記号が違っている.
 (例2)数字と記号の位置が揃っていない.(数字の 1 の位と*印が揃うのが正解)
 (例3)下三角部分ではなく上三角部分が*印になってしまっている.
 (例4)対角成分(1, 4, 9, 16, 25, 36, 49, 64, 81)が誤って*印になっている.
■ インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).


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