C语言for()循环打印三角形、倒置三角形、菱形、九九表

C语言for()循环打印三角形、倒置三角形、菱形图形、九九表

一、三角形
#include <stdio.h>
int main(void){
//输入行数打印三角形

int n; //行数
printf("输入行数: \n");
scanf("%d",&n);

/*
printf("     *\n"); //1
printf("    ***\n"); //2
printf("   *****\n"); //3
printf("  *******\n"); //4
printf(" *********\n"); //5
printf("***********\n"); //6
*/

/*
	第1行:  5个空格,    1个*
	第2行:  4个空格,    3个*
	第3行:  3个空格,    5个*
	第4行:  2个空格,    7个*
	第5行:  1个空格,    9个*
	第6行:  0个空格,    11个*
	第i行: n-i个空格, *个数=2*i-1;
*/

for(int i=1;i<=n;i++){
	
	//每次循环打印一行
	
	//打印空格,空格数是n-i个
	for(int j=0;j<n-i;j++){
		printf(" ");
	}
	
	//打印*,个数是2i-1
	for(int j=0;j<2*i-1;j++){
		printf("*");
	}

	//打印换行符
	printf("\n");

}

return 0;

}

二、倒置三角形
#include <stdio.h>
int main(void){
//输入行数打印倒置三角形

int n; //行数

printf("输入行数: \n");
scanf("%d",&n);

/*
printf("***********\n"); //1
printf(" *********\n"); //2
printf("  *******\n"); //3
printf("   *****\n"); //4
printf("    ***\n"); //5
printf("     *\n"); //6
*/

/*
	第1行:   	0个空格,    11个*
	第2行:   	1个空格,    9个*
	第3行:   	2个空格,    7个*
	第4行:   	3个空格,    5个*
	第5行:   	4个空格,    3个*
	第6行:   	5个空格,    1个*

	第i行:    i-1个空格, *个数=2*n-(2*i-1);
*/


for(int i=1;i<=n;i++){
	
	//每次循环打印一行
	
	//打印空格,空格数是i-1个
	for(int j=0;j<i-1;j++){
		printf(" ");
	}
	
	//打印*,个数是2*n-(2*i-1);
	for(int j=0;j<2*n-(2*i-1);j++){
		printf("*");
	}

	//打印换行符
	printf("\n");

}

return 0;

}

三、菱形
#include <stdio.h>
int main(void){
//输入行数打印菱形
int i;
int n; //行数

printf("输入奇数行数,如5,7,9等数(偶数不能打印对称的菱形): \n");
scanf("%d",&n);

/*
printf("     *\n"); //1
printf("    ***\n"); //2
printf("   *****\n"); //3
printf("  *******\n"); //4
printf(" *********\n"); //5
printf("***********\n"); //6
printf(" *********\n"); //7
printf("  *******\n"); //8
printf("   *****\n"); //9
printf("    ***\n"); //10
printf("     *\n"); //11
*/

/*
	第1行:   	5个空格,    	 1个*
	第2行:   	4个空格,    	 3个*
	第3行:   	3个空格,    	 5个*
	第4行:   	2个空格,    	 7个*
	第5行:   	1个空格,    	 9个*
	第6行:   	0个空格,    	 11个*
	第i行:   (n+1)/2-i个空格, *个数=2i-1;		
	
	第7行:  	1个空格,  		9个*
	第8行:  	2个空格,  		7个*
	第9行:		3个空格,  		5个*
	第10行:		4个空格,  		3个*
	第11行: 	5个空格,  		1个*
	第i行: 	i-(n+1)/2 个空格, *个数=2*n-(2*i-1);
*/

for(i=1;i<=n;i++){
	
	//每次循环打印一行
		
	if(i<=(n+1)/2){
		//打印空格,空格数是(n+1)/2-i
		for(int j=0;j<(n+1)/2-i;j++){
			printf(" ");
		}
	
		//打印*个数是2i-1
		for(int j=0;j<2*i-1;j++){
			printf("*");
		}										
	}

	if(i>(n+1)/2){
		//打印空格,空格数是i-(n+1)/2
		for(int j=0;j<i-(n+1)/2;j++){
			printf(" ");
		}
	
		//打印*个数是2*n-(2*i-1)
		for(int j=0;j<2*n-(2*i-1);j++){
			printf("*");
		}			
	}
	
	//打印换行符
	printf("\n");		
}

return 0;

}

四、九九表
#include <stdio.h>
int main(void){
/*
数学版乘法口诀表
1×1=1
1×2=2 2×2=4
1×3=3 2×3=6  3×3=9
1×4=4 2×4=8  3×4=12 4×4=16
1×5=5 2×5=10 3×5=15 4×5=20 5×5=25
1×6=6 2×6=12 3×6=18 4×6=24 5×6=30 6×6=36
1×7=7 2×7=14 3×7=21 4×7=28 5×7=35 6×7=42 7×7=49
1×8=8 2×8=16 3×8=24 4×8=32 5×8=40 6×8=48 7×8=56 8×8=64
1×9=9 2×9=18 3×9=27 4×9=36 5×9=45 6×9=54 7×9=63 8×9=72 9×9=81

*/
//每次打印一行
int i; //行 一共9行
int j; //列 一共9列
for(int i=1;i<=9;i++){
	for(int j=1;j<=i;j++){
		printf("%dX%d=%d\t",j,i,j*i);
	}
	printf("\n");	
}
return 0;

}
gcc 文件名 -std=c99编译以上三种图运行即可。编译器是MinGW。
本小猿代码可能臃肿,望大猿不吝赐教。

  • 32
    点赞
  • 125
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值