問 7(提出プログラム名:ex0507.c)
2 つの整数 m, n を読み込み,実行例と同じかたちで九九の表の一部のみを出力するプログラムを作りなさい.出力させる部分は m*m から n*n の範囲のみとする.なお,m と n はどちらも 1 以上 9 以下の整数であり m < n であると仮定してプログラムを作ってよいが,必ず for 文を使うこととする.
提出するソースファイル(ソースプログラム)のファイル名は ex0507.c としなさい.
【注意】この問題では if 文を使ってはいけません.
【ヒント】
プログラムの基本的な構造はサンプルプログラム 3 と同じです.
ただし,for ( i = 1; i <= 9; i++ ) のままだと「1 の段」から「9 の段」まですべてを出力することになってしまいますので,これを for ( i = m; i <= n; i++ ) と変えることで「m の段」から「n の段」までの出力に限定できます.
内側の j を使った for 文についても同様です.
- 【プログラムの実行結果】(その1)※赤字は実行時にキーボードから入力する内容
※数字が以下の実行例のようにきちんと揃っているか確認せよ(ズレていたら誤り扱いになる)
特に 1 桁と 2 桁で右端がズレないように気をつけよ(ヒント:"%3d" という書式指定が重要)
m を入力してください:2 n を入力してください:5 4 6 8 10⏎ 6 9 12 15⏎ 8 12 16 20⏎ 10 15 20 25⏎
- 【プログラムの実行結果】(その2)※赤字は実行時にキーボードから入力する内容
m を入力してください:8 n を入力してください:9 64 72⏎ 72 81⏎
【過去にあったミス(実際に減点となり,やり直しを命じられた例)】
■ 実行の画面出力が上の例と違う(きちんと確認していない).
(例1)表示されている範囲が実行例と違っている.
(例2)適切な位置で改行が出力されていない.
■ ヒントを見落としていて,無駄に複雑なプログラムになってしまっている.
■ インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).
← [ 問 6 (ex0506.c) ]
ミスが無いことを確認したら次の問題へ → [ 問8 (ex0508.c) ]