易百教程

编写程序生成乘法表

编写一个程序,用来生成乘法表

大小为4的表将有四行四列。行和列将标记为14。表中的每个单元格都将包含相应行和列编号的乘积。

参考实现代码

#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