欢迎来到南方有乔木的博客!!!
博主主页:点击点击!戳一戳!!
博主名:南方有乔木呀
博主简介:
一名在校大学生,正在努力学习Java语言编程。穷且意坚,不坠青云之志,希望能在编程的世界里找到属于自己的光。
跪谢帅气or美丽的朋友们能够帮我点赞! 请对文中内容请多多指教!!!
我们要利用c语言打印99乘法表,可以分为以下思路:
一个打印的99乘法表是这样的:
1.首先,我们可以先观察99乘法表的结构,可以发现,99乘法表的行数与列数是一样都是有9行9列,因此,我们可以先利用一个for循环来控制行数:
for(i=1;i<=9;i++){};
这可以让我们用for循环i++来控制每一行。
我们接着观察99乘法表,第一行里是:
1×1=1
第二行里是:
2×1=2 2×2=4
我们可以观察,从第一行到第二行,行数增加一,列数也增加一,行数增加的同时列数也增加,因此可以在之前控制行数的for循环里再用一个for循环控制列数,让行数增加的同时列数也增加
:
for(i=1;i<=9;i++)
{
for(i=1;i<=9;i++)
{
此处填入代码
}
}
然后我们再将我们要打印99乘法表的格式列出来,用printf函数:
printf("%2d × %2d=%3d",i,j,i*j);
在这里,%d是一个占位符,表示占一个位置,这个位置要填入的值在后边取,%d可以在中间插入一个数字2,变成%2d,表示所占位置的宽度为2,在这里第一个的%2d取后面的i的值,第二个%d取后边j的值,%3d取i*j的值, 在补完头文件与main函数以后
以上代码写完以后是这样的:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i = 1; int j = 1;
for (i= 1; i <= 9; i++)
{
for (j = 1; j <= 9; j++)
{
printf("%2d × %2d= %3d ",i,j,i*j);
}
printf("\n");
}
system("pause");
return 0;
}
我们需要在控制行数的for循环里加入一个打印换行语句:printf("\n");以便于打印完一行乘法表以后换行。
到这里以后的运行结果已经可以呈现正方形的两个99乘法表:
我们要把它变成像下面这样三角形的99乘法表:
需要再加入一个关键条件,我们可以观察到,我们所打印的每一行都有一个条件,像从
1×1=1
到
2×1=2 2×2=4
到
3×1=3 3×2=6 3×3=9
它们都是i×j的格式,且当i=j时就换行打印,它们每一个i×j里都满足j的值小于等于i的值,因此我们只需要把第二个for循环里的i<=9改为j<=i即可。
即
for(i=1;i<=9;i++)
{
for(j=1;j<=9;j++)
{
此处填入代码
}
}
改为
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
{
此处填入代码
}
}
修改后的整体代码如下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i = 1; int j = 1;
for (i = 1; i <= 9; i++)
{
for (j = 1; j <= i; j++)
{
printf("%2d × %2d= %3d ",i,j,i*j);
}
printf("\n");
}
system("pause");
return 0;
}
运行的结果如下:
这样就变成了三角形的99乘法表。