■この記事の概要
この記事では、C言語のprintf
関数を使った九九表の出力方法を解説しています。
右詰め(%3d
)、左詰め(%-3d
)、および零埋め(%03d
)の書式指定を用いた異なる出力スタイルの例と、その実行結果を示しています。
■printf(右詰め書式%3d)
#include <stdio.h>
int main(void){
printf("右詰め%%3d\n");
for(int i = 1; i <= 9; i++){
for(int j = 1; j <= 9; j++){
printf("%3d|",i*j);
}
printf("\n");
}
}
●実行結果(右詰め九九表)
./a.out
右詰め%3d
1| 2| 3| 4| 5| 6| 7| 8| 9|
2| 4| 6| 8| 10| 12| 14| 16| 18|
3| 6| 9| 12| 15| 18| 21| 24| 27|
4| 8| 12| 16| 20| 24| 28| 32| 36|
5| 10| 15| 20| 25| 30| 35| 40| 45|
6| 12| 18| 24| 30| 36| 42| 48| 54|
7| 14| 21| 28| 35| 42| 49| 56| 63|
8| 16| 24| 32| 40| 48| 56| 64| 72|
9| 18| 27| 36| 45| 54| 63| 72| 81|
■printf(左詰め書式%-3d)
#include <stdio.h>
int main(void){
printf("左詰め%%-3d\n");
for(int i = 1;i <= 9;i++){
for(int j = 1;j <= 9;j++){
printf("%-3d|",i*j);
}
printf("\n");
}
}
●実行結果(左詰め九九表)
./a.out
左詰め%-3d
1 |2 |3 |4 |5 |6 |7 |8 |9 |
2 |4 |6 |8 |10 |12 |14 |16 |18 |
3 |6 |9 |12 |15 |18 |21 |24 |27 |
4 |8 |12 |16 |20 |24 |28 |32 |36 |
5 |10 |15 |20 |25 |30 |35 |40 |45 |
6 |12 |18 |24 |30 |36 |42 |48 |54 |
7 |14 |21 |28 |35 |42 |49 |56 |63 |
8 |16 |24 |32 |40 |48 |56 |64 |72 |
9 |18 |27 |36 |45 |54 |63 |72 |81 |
■printf(零埋め書式%03d)
#include <stdio.h>
int main(void){
printf("零埋め%%03d\n");
for(int i = 1; i <= 9; i++){
for(int j = 1; j <= 9; j++){
printf("%03d|",i*j);
}
printf("\n");
}
}
●実行結果(零埋め九九表)
./a.out
零埋め%03d
001|002|003|004|005|006|007|008|009|
002|004|006|008|010|012|014|016|018|
003|006|009|012|015|018|021|024|027|
004|008|012|016|020|024|028|032|036|
005|010|015|020|025|030|035|040|045|
006|012|018|024|030|036|042|048|054|
007|014|021|028|035|042|049|056|063|
008|016|024|032|040|048|056|064|072|
009|018|027|036|045|054|063|072|081|
参考: