【C语言】打印99乘法表

 欢迎来到南方有乔木的博客!!!


博主主页:点击点击!戳一戳!!

博主名:南方有乔木呀

博主简介:

一名在校大学生,正在努力学习Java语言编程。穷且意坚,不坠青云之志,希望能在编程的世界里找到属于自己的光。

跪谢帅气or美丽的朋友们能够帮我点赞! 请对文中内容请多多指教!!!

40b20882f0e44752b5a0b3f4765d6a1b.gif

 我们要利用c语言打印99乘法表,可以分为以下思路:

一个打印的99乘法表是这样的:

0738c0b9229d4f6188560f8ebba5642f.png

         

      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乘法表:

562875d0186e4fff858a70dfe0d23288.png

 我们要把它变成像下面这样三角形的99乘法表:

0738c0b9229d4f6188560f8ebba5642f.png

 需要再加入一个关键条件,我们可以观察到,我们所打印的每一行都有一个条件,像从

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

 运行的结果如下:

03fe1e81791c48f18bf20d96ae235114.png

 这样就变成了三角形的99乘法表。

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值