C言語で簡単なプログラムを作りながら、その基本的な事柄を学んでいこう。
今回のテーマは、「九九の表」である。
タイトルがついた九九の表
縦横のタイトルがついた九九の表を表示するプログラムを作ってみよう。
#include <stdio.h>
int main(void)
{
printf(" |");
for (int i = 1; i <= 9;i++)
printf("%3d",i);
putchar('\n');
puts("--+------------------------------");
for(int i = 1;i <= 9;i++) {
printf("%d |",i);
for (int j = 1; j <= 9; j++)
printf("%3d",i * j);
putchar('\n');
}
return 0;
}
実行結果
| 1 2 3 4 5 6 7 8 9
--+------------------------------
1 | 1 2 3 4 5 6 7 8 9
2 | 2 4 6 8 10 12 14 16 18
3 | 3 6 9 12 15 18 21 24 27
4 | 4 8 12 16 20 24 28 32 36
5 | 5 10 15 20 25 30 35 40 45
6 | 6 12 18 24 30 36 42 48 54
7 | 7 14 21 28 35 42 49 56 63
8 | 8 16 24 32 40 48 56 64 72
9 | 9 18 27 36 45 54 63 72 81
多重ループ
繰り返しの中で繰り返しを行うことができ、繰り返しは、入れ子の深さに応じて、2重ループ、3重ループと呼ばれる。その総称が「多重」ループである。
最初のfor文は、1重ループで、1~9までのタイトル部を表示する。
次のfor文は、for文の中にfor文が入っている2重ループである。
- iが1のとき、iの値1と|を表示。jを1→9とインクリメントしながら1 * jを表示して改行。
- iが2のとき、iの値2と|を表示。jを1→9とインクリメントしながら2 * jを表示して改行。
- iが3のとき、iの値3と|を表示。jを1→9とインクリメントしながら3 * jを表示して改行。
中略・・
- iが9のとき、iの値9と|を表示。jを1→9とインクリメントしながら9 * jを表示して改行。
なお、書式%3dとすることで、各値の出力を少なくとも3桁で行っている。
(参考文献)新・明解C言語 入門編 第2版 柴田望洋著(SBクリエイティブ)新・解きながら学ぶC言語 第2版 柴田望洋・由梨かおる著(SBクリエイティブ)
コメント