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;
}


目录
打赏
0
4
4
0
17
分享
相关文章
【C语言】数据输出的域宽控制(如何在输出数据时控制0占位)(如何输出前导0)(保留几位小数)(乘法口诀表打印不齐)等问题
【C语言】数据输出的域宽控制(如何在输出数据时控制0占位)(如何输出前导0)(保留几位小数)(乘法口诀表打印不齐)等问题
129 0
C语言---函数---请输入乘法口诀表的行,来打印几几乘法表
C语言---函数---请输入乘法口诀表的行,来打印几几乘法表
C 语言实例 - 输出九九乘法口诀表
使用嵌套 for 循环输出九九乘法口诀表。
91 2
C语言练习之打印9*9乘法口诀表
C语言练习之打印9*9乘法口诀表
124 0
C语言实现高精度(大位数)乘法
C语言实现高精度(大位数)乘法
144 0
【C】C语言-阶乘-九九乘法口诀表-最大公约数-闰年
【C】C语言-阶乘-九九乘法口诀表-最大公约数-闰年
二十个一乘以二十个二等于多少?C语言经典算法设计之大数乘法
二十个一乘以二十个二等于多少?C语言经典算法设计之大数乘法
1703 0
软件设计师1991年下午试题2(C语言 压缩矩阵乘法)
阅读下列说明和流程图,回答问题1和问题2,把解答写在答卷的对应栏内。 [说明] 流程图用来计算矩阵 K,Y 的乘积 Z,其中 X,Y,Z 均为 m 行 m 列的下三角方阵,即行号小于列号的元素均为零的 m 阶方阵。
657 0
【C语言程序设计——函数】素数判定(头歌实践教学平台习题)【合集】
本内容介绍了编写一个判断素数的子函数的任务,涵盖循环控制与跳转语句、算术运算符(%)、以及素数的概念。任务要求在主函数中输入整数并输出是否为素数的信息。相关知识包括 `for` 和 `while` 循环、`break` 和 `continue` 语句、取余运算符 `%` 的使用及素数定义、分布规律和应用场景。编程要求根据提示补充代码,测试说明提供了输入输出示例,最后给出通关代码和测试结果。 任务核心:编写判断素数的子函数并在主函数中调用,涉及循环结构和条件判断。
62 23
|
1月前
|
【C语言程序设计——函数】利用函数求解最大公约数和最小公倍数(头歌实践教学平台习题)【合集】
本文档介绍了如何编写两个子函数,分别求任意两个整数的最大公约数和最小公倍数。内容涵盖循环控制与跳转语句的使用、最大公约数的求法(包括辗转相除法和更相减损术),以及基于最大公约数求最小公倍数的方法。通过示例代码和测试说明,帮助读者理解和实现相关算法。最终提供了完整的通关代码及测试结果,确保编程任务的成功完成。
67 15
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等