九九乘法表的输出(for循环总结)

1.左下三角型

 此为最简单的一种,只需控制好多重循环与输出空格数即可

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


 56795935a7f64b588088b1a2fcfa6905.png

 


2.右上三角形

cbd658b6c3ad40ddb6a671fe2184983f.png 

 

 观察输出样式我们可知:

  1. i,j所控制的乘数,均为从小到大的排列顺序,因此我们均应用i++,j++的形式
  2. 观察第二列起的空格我们发现,原处的整式均被空格代替于是我们可以得知,在此处应用if语句对j内循环做一个判断(!此处我犯了一个错误,认为可以在for循环中将条件判断改为for(j=1;(j>=i)&&(j<=9);j++),但如果以此判断,循环在第二遍时就会停止。
#include<stdio.h>
int main()
{
	int i,j,sum,z;
	for(i=1;i<=9;i++)
	{
		
		for(j=1;j<=9;j++)
		{
			if(j<i)
		{
			printf("        ");
	      
		}
			else
			printf("%d*%2d=%2d ",i,j,sum=i*j); 
			
		}
		printf("\n");
	
	}
	return 0;
 } 	

 


3. 输出左上三角形

 此处只需控制好i,j之间的关系既可

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


 

4.输出右下三角形

  1.  此处有两种输出方式,一种为用空格代替整式,另一种为用空格和j作为内循环
  2. 只需控制好i,j,整数之间的关系即可
#include<stdio.h>
int main()
{
	int i,j,sum,z;
	for(i=1;i<=9;i++)
	{
		
		for(j=1;j<=9;j++)
		{
		if(j>9-i)
		{
		printf("%d*%2d=%2d ",i,j,sum=i*j); 
		}
		else
		 
		printf("        ");	
		}
		printf("\n");
	
	}
	return 0;
 } 	

 ce14170ba63d457894bf6ab863d49c1a.png

这里错啦!!!第二行开始输出的就不是乘法表了,所以这里只有下面那一种办法!

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

7e15d7d25a0a424b85ebffcf3c63a62c.png

 总结

  1.  for的多重循环最主要的就是弄清楚i,j,循环次数(那个整数)之间的关系,弄清之后,要考虑的就只有内循环如何嵌套和是否使用if了。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值