C语言打印乘法口诀表——超详细扫盲篇

简介: C语言打印乘法口诀表——超详细扫盲篇


如图所示,乘法口诀表的打印是一个既简单但又强调细节的问题

首先,第一眼能得出需要使用两个for循环嵌套来实现打印

外循环用来控制行数,内循环用来控制列数

如果关于循环或者for循环理解不够,下面这篇博客有详细介绍

C语言结构语句介绍-CSDN博客

其次,分析每次打印等式的规律

乘号左边的数(被乘数)都等于列数

乘号右边的数(乘数)都等于行数

如此可以得出第一步结果:

但是打印完之后会发现,结果比我们想要的多出了一半的等式,

继续分析会发现,在第一行打印一个等式,第二行打印两个等式......也就是说每行打印的次数刚好等于行数,即每次内循环让 j 的值小于等于外循环(行数) i 的值

继续修改代码

这次的结果就基本和我们想要的一样了,但如果你足够细心的话,就会发现等式在打印时并不总是完全对齐,因为等式的积有时是一位数,有时是两位数

这个时候,再对printf函数略加修改

将 % 改为 %2d,表示最小输出两位, 再在%的后面加上一个 -号(负号),表示左对齐(默认右对齐),即可达到想要的结果

这次,结果达到我们满意的整整齐齐的样子了

这是最后完整的代码

#include<stdio.h>
int main()
{
  for (int i = 1; i <= 9; i++)
  {
    for (int j = 1; j <=i; j++)
    {
      printf("%d*%d=%-2d  ", j, i, j * i);
    }
    printf("\n");
  }
  return 0;
}


相关文章
|
6月前
|
机器学习/深度学习 编译器 C语言
【C语言】数据输出的域宽控制(如何在输出数据时控制0占位)(如何输出前导0)(保留几位小数)(乘法口诀表打印不齐)等问题
【C语言】数据输出的域宽控制(如何在输出数据时控制0占位)(如何输出前导0)(保留几位小数)(乘法口诀表打印不齐)等问题
107 0
|
5月前
|
C语言
C语言---函数---请输入乘法口诀表的行,来打印几几乘法表
C语言---函数---请输入乘法口诀表的行,来打印几几乘法表
|
C语言
C 语言实例 - 输出九九乘法口诀表
使用嵌套 for 循环输出九九乘法口诀表。
81 2
|
C语言
C语言练习之打印9*9乘法口诀表
C语言练习之打印9*9乘法口诀表
112 0
|
C语言
C语言实现高精度(大位数)乘法
C语言实现高精度(大位数)乘法
127 0
|
C语言
【C】C语言-阶乘-九九乘法口诀表-最大公约数-闰年
【C】C语言-阶乘-九九乘法口诀表-最大公约数-闰年
|
存储 算法 C语言
二十个一乘以二十个二等于多少?C语言经典算法设计之大数乘法
二十个一乘以二十个二等于多少?C语言经典算法设计之大数乘法
1679 0
|
C语言
软件设计师1991年下午试题2(C语言 压缩矩阵乘法)
阅读下列说明和流程图,回答问题1和问题2,把解答写在答卷的对应栏内。 [说明] 流程图用来计算矩阵 K,Y 的乘积 Z,其中 X,Y,Z 均为 m 行 m 列的下三角方阵,即行号小于列号的元素均为零的 m 阶方阵。
651 0
|
1月前
|
C语言 C++
C语言 之 内存函数
C语言 之 内存函数
33 3
|
6天前
|
C语言
c语言调用的函数的声明
被调用的函数的声明: 一个函数调用另一个函数需具备的条件: 首先被调用的函数必须是已经存在的函数,即头文件中存在或已经定义过; 如果使用库函数,一般应该在本文件开头用#include命令将调用有关库函数时在所需要用到的信息“包含”到本文件中。.h文件是头文件所用的后缀。 如果使用用户自己定义的函数,而且该函数与使用它的函数在同一个文件中,一般还应该在主调函数中对被调用的函数做声明。 如果被调用的函数定义出现在主调函数之前可以不必声明。 如果已在所有函数定义之前,在函数的外部已做了函数声明,则在各个主调函数中不必多所调用的函数在做声明
21 6