题目名称:打印9*9乘法表
答案
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int i = 0;
int j = 0;
for (i = 1; i <= 9; i++)
{
for (j = 1; j <= i; j++)
{
printf("%d*%d=%2d ", i, j, i * j);
}
printf("\n");
}
return 0;
}
运行结果:
解题思路
“*”是乘号,乘号前面和后面的数叫做因数,“=”是等于号,等于号后面的数叫做积。在打印乘
法口诀时我们需要两个元素用来记录两个因数,并且需要使用两个嵌套的for循环来迭代行和列。
1.在外部循环中,我们用 i 迭代行号,从1到9,表示乘法表中的第 i 行
2.在内部循环中,我们用 j 迭代列号,从1到 i,表示第 i 行中的第 j 列
3.使用printf 函数打印每一项使用 %2d 格式控制符将乘积左对齐输出,使得每个字符占两个字符的宽度
4.打印完每一行后,还需要打印’ \n ',表示当前遍历结束,开始下一行的打印
5.在main函数中打印0,表示程序已成功执行
解法代码
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int i = 0;//定义行
int j = 0;//定义列
for (i = 1; i <= 9; i++)//控制9行
{
for (j = 1; j <= i; j++)//每一行打多少项
{
printf("%d*%d=%2d ", i, j, i * j);//打印当前的乘法公式
}
printf("\n");//打印换行,如果没有此步骤,打印出来的乘法表就会连在一起
}
return 0;
}
下期题目:
使用C语言写一个程序打印100~200之间的素数,数字中间使用空格分隔