- 2. (かけ算九九, シンプル版)
乗数と被乗数の二つをそれぞれ変化させて 1 から 9 までのすべての組み合わせを
計算する.
そのためには, 乗数 i と被乗数 j の二重の for 文を使えばよい.
(プログラムは main の部分だけを示す)
int main(int ac, char **av){
int i, j;
for(i=1; i<=9; i++){
for(j=1; j<=9; j++){
printf("%d * %d = %d\n", i, j, i*j);
}
}
}
- 3. (かけ算九九, 表にする)
改行のタイミングがひとつ目のポイント.
前のプログラムで, 一行ぶん(1の段)が終るのは内側の for 文が終った時だから,
そこで「\n」を出力するようにする.
もうひとつのポイントとして, 表がずれないように数字の出力の幅を合わせる.
これには, printf の中で「%3d」などと表示桁数をちょっと大きめに設定すればよい.
int main(int ac, char **av){
int i, j;
for(i=1; i<=9; i++){
for(j=1; j<=9; j++){
printf("%3d", i*j);
}
printf("\n");
}
}
- 3. (かけ算九九, 見出しつき)
上端の見出しは, かけ算表を作る前に一括して出力する.
(下のプログラムでは, ここでも for 文を使っているが,
ひとつの printf で文字列として出力してもよいだろう.)
左端の見出しは, 一段の出力の前に行なう.
int main(int ac, char **av){
int i, j;
printf(" |"); /* 上端見出し一行目 */
for(j=1; j<=9; j++){
printf("%3d", j);
}
printf("\n");
printf("-+"); /* 上端見出し二行目 */
for(j=1; j<=9; j++){
printf("---", j);
}
printf("\n");
for(i=1; i<=9; i++){
printf("%1d|", i); /* 左端見出し */
for(j=1; j<=9; j++){
printf("%3d", i*j);
}
printf("\n");
}
}