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一样,不再详解。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐