前回のプログラム<sample program 052-03>で、次のような結果を表示させました。
<実行結果>
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 続行するには何かキーを押してください・・・
では、このプログラムに手を加えて、以下のような結果を表示させてみてください。
<実行結果>
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 続行するには何かキーを押してください・・・
解答例です。
<sample program 053-01>
#include <stdio.h> int main(void) { int i; int j; i = 0; while (i < 10) { j = 0; while (j < 10) { printf("%2d", i); j++; } printf("\n"); i++; } return 0; } |
<実行結果>
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 続行するには何かキーを押してください・・・
前のプログラムでは「j」を表示していましたが、「i」を表示すれば出来ます。
では、次はどうでしょう。
<実行結果>
0 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 10 2 3 4 5 6 7 8 9 10 11 3 4 5 6 7 8 9 10 11 12 4 5 6 7 8 9 10 11 12 13 5 6 7 8 9 10 11 12 13 14 6 7 8 9 10 11 12 13 14 15 7 8 9 10 11 12 13 14 15 16 8 9 10 11 12 13 14 15 16 17 9 10 11 12 13 14 15 16 17 18 続行するには何かキーを押してください・・・
前回の最後に掲載した「i」と「j」の関係の表をよく見て作ってみてください。
解答例です。
<sample program 053-02>
#include <stdio.h> int main(void) { int i; int j; i = 0; while (i < 10) { j = 0; while (j < 10) { printf("%3d", i + j); j++; } printf("\n"); i++; } return 0; } |
<実行結果>
0 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 10 2 3 4 5 6 7 8 9 10 11 3 4 5 6 7 8 9 10 11 12 4 5 6 7 8 9 10 11 12 13 5 6 7 8 9 10 11 12 13 14 6 7 8 9 10 11 12 13 14 15 7 8 9 10 11 12 13 14 15 16 8 9 10 11 12 13 14 15 16 17 9 10 11 12 13 14 15 16 17 18 続行するには何かキーを押してください・・・
iとjを加算することで完成できます。
では次です。
<実行結果>
0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 0 2 4 6 8 10 12 14 16 18 0 3 6 9 12 15 18 21 24 27 0 4 8 12 16 20 24 28 32 36 0 5 10 15 20 25 30 35 40 45 0 6 12 18 24 30 36 42 48 54 0 7 14 21 28 35 42 49 56 63 0 8 16 24 32 40 48 56 64 72 0 9 18 27 36 45 54 63 72 81 続行するには何かキーを押してください・・・
これは簡単に出来そうですね。
解答例です。
<sample program 053-03>
#include <stdio.h> int main(void) { int i; int j; i = 0; while (i < 10) { j = 0; while (j < 10) { printf("%3d", i * j); j++; } printf("\n"); i++; } return 0; } |
<実行結果>
0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 0 2 4 6 8 10 12 14 16 18 0 3 6 9 12 15 18 21 24 27 0 4 8 12 16 20 24 28 32 36 0 5 10 15 20 25 30 35 40 45 0 6 12 18 24 30 36 42 48 54 0 7 14 21 28 35 42 49 56 63 0 8 16 24 32 40 48 56 64 72 0 9 18 27 36 45 54 63 72 81 続行するには何かキーを押してください・・・
以前、九九の表の指定した段を表示するプログラムを作りました。
これを使えば、2の段から9の段までの一覧表が作れそうですね。
やってみましょう。
<実行結果>
4 6 8 10 12 14 16 18 6 9 12 15 18 21 24 27 8 12 16 20 24 28 32 36 10 15 20 25 30 35 40 45 12 18 24 30 36 42 48 54 14 21 28 35 42 49 56 63 16 24 32 40 48 56 64 72 18 27 36 45 54 63 72 81 続行するには何かキーを押してください・・・
解答例です。
#include <stdio.h> int main(void) { int i; int j; i = 2; while (i < 10) { j = 2; while (j < 10) { printf("%3d", i * j); j++; } printf("\n"); i++; } return 0; } |
<実行結果>
4 6 8 10 12 14 16 18 6 9 12 15 18 21 24 27 8 12 16 20 24 28 32 36 10 15 20 25 30 35 40 45 12 18 24 30 36 42 48 54 14 21 28 35 42 49 56 63 16 24 32 40 48 56 64 72 18 27 36 45 54 63 72 81 続行するには何かキーを押してください・・・
0の段と1の段が不要なので、2から始めれば良いだけです。
では、次はちょっと考えてみてください。
<実行結果>
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 続行するには何かキーを押してください・・・
簡単そうですが、工夫が必要です。
解答例です。
<sample program 053-05>
#include <stdio.h> int main(void) { int i; int j; i = 0; while (i < 10) { j = 0; while (j < 10) { printf("%3d", i * 10 + j); j++; } printf("\n"); i++; } return 0; } |
<実行結果>
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 続行するには何かキーを押してください・・・
二重ループの使い道は後々広がってきますが、今回はiとjの関係をしっかりとつかんでもらうための演習でした。
次に続きます。