利用C语言实现99乘法表两种方式

99乘法表

  1. 利用C语言输出99乘法表可以先思考怎么将它输出,这里我们可以先定义两个变量x,y用来表示对应的两个乘数,然后再定义一个sum,用来表示x和y的乘积。

  2. 定义完变量之后思考怎么输出每个式子,这边有两个思路,一个是利用for循环,另一个是利用while循环,两个原理其实都一样,但是利用for循环更利于理解,所以本文先用for循环编写。

  3. 由于99乘法表是每行输出对应小于等于行的数,例如第一行为1* 1,不大于1,第二行的数1 *2,2 *2,不大于2;故我们可以用两次循环,循环嵌套来输出式子,

    第一层设置为for(x=1;x<=9;x++)
    
  4. 设置完第一层之后,还需要设置第二层,用来输出式子

    for(y=1;y<=x;y++)
    {
        printf("%d*%d=%d",y,x,sum);
    }
    
  5. 编写完代码之后编译

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

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gw0nsOM3-1649321530419)(D:\图片\屏幕截图 2022-04-07 161955.png)]

  6. 输出之后发现并不是想像中的每行每列的输出,这时我们可以在第一层for循环中加入一个\n,让它每循环一次就回车一次。然后得到

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

在这里插入图片描述

  1. 这次代码之后发现跟预想的基本一致,但是发现当sum为个位时,与其他位没有对齐
    在这里插入图片描述

  2. 这时,我们可以将sum小于10的时候加一个空格,而为了实现这个,我们可以利用if来实现,当sum小于10时,加一个空格,其他情况不变。这时的代码为

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

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UHGF4nUm-1649321530422)(D:\图片\99乘法表.png)]

这时程序就完成了。

进阶


#include<stdio.h>
int main()
{
	int x,y;
	int sum = 1;
	int n;
	printf("请输入一个小于十的数"); 
	scanf("%d",&n);
	if(n<=9)
	{
	
	for(x=1;x<=n;x++){
		for(y=1;y<=x;y++){
			sum = x*y;
			printf("%d*%d=%d  ",y,x,sum);
			if(sum<10)
			{
				printf(" ");
			}
		}
		printf("\n");
	
	}	
}
else{
	printf("不是小于10的数"); 
}
	return 0;
} 

这个程序是可以自行输出99乘法表,当输入的n大于10时,不执行。

#include<stdio.h>
int main()
{
	int x,y;
	int sum = 1;
	x=1;
	
	while(x<=9){
		y=1;
		while(y<=x){
			sum = x*y;
			printf("%d*%d=%d  ",y,x,sum);
			y++;
				if(sum<10)
			{
				printf(" ");
			}
		}
		x++;
		printf("\n");
	}	

	return 0;
} 

这个程序是利用while循环,原理与for一样,不再详解。

  • 64
    点赞
  • 209
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丶丶丶丶。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值