编写一个程序,用来生成乘法表
大小为4
的表将有四行四列。行和列将标记为1
到4
。表中的每个单元格都将包含相应行和列编号的乘积。
参考实现代码
#include <stdio.h>
int main(void)
{
int table_size = 6; // Table size */
for (int row = 0; row <= table_size; ++row)
{
printf("\n"); // 开始新的一行
for (int col = 0; col <= table_size; ++col)
{
if (row == 0) // 第1行?
{ // 是 - 输出列的标题
if (col == 0) // 第1列?
printf(" "); // 是 - 不用输出列标题
else
printf("|%4d", col); // 输出标题
}
else
{ // 不是第1行 - 输出行
if (col == 0) // 第1列?
printf("%4d", row); // 是 - 输出行标签
else
printf("|%4d", row*col); // 否 - 输出表条目
}
}
if (row == 0) // 如果刚刚完成第一行
{ // 输出分隔符 - 破折号
printf("\n");
for (int col = 0; col <= table_size; ++col)
printf("------");
}
}
printf("\n");
return 0;
}
编译并执行上面示例代码,得到以下结果:
hema@ubuntu:~/book$ gcc main.c
hema@ubuntu:~/book$ ./a.out
| 1| 2| 3| 4| 5| 6
------------------------------------------
1| 1| 2| 3| 4| 5| 6
2| 2| 4| 6| 8| 10| 12
3| 3| 6| 9| 12| 15| 18
4| 4| 8| 12| 16| 20| 24
5| 5| 10| 15| 20| 25| 30
6| 6| 12| 18| 24| 30| 36