c语言中用for循环实现的简单金字塔图形及简单说明

图形示例:

 首先:

这需要两个for循环,一个控制行数,一个控制每一行的星星个数。

现在先不关心它是如何变成那个图形的,只关心每一行的个数你会发现:

第一行     1个

第二行      3个

第四行       7个

一次类推第n行就是2*n-1个所以限制每一行星星的条件就是每一行的星星不能超过2*n-1个

所以你现在就可以先这莫写:

#include<stdio.h>
int main(){
	int i,j,k;
	for(i=1;i<=5;i++){//控制行数
	
		for(j=1;j<=2*i-1;j++){//每一行星星的个数
			
			printf("*"); 
		}
		printf("\n");//每一行结束就换行
	}
	return 0;
}

其次:

现在就是空格的问题,空格的位置比较重要,每一行都有空格且数量不同

第一行:4

第二行:3

第三行:2

依次类推到最后一行第5行:5-5=0个空格所以每行的空格数都不大于5-i个。

因为每一行都有,这也应该创建一个新的for循环且放到控制行数的for循环里面吗

并且在控制星星的for循环前面,于是就有:

#include<stdio.h>
int main(){
	int i,j,k;
	for(i=1;i<=5;i++){
		for(k=1;k<=5;k++){
				if(k<=5-i)printf(" ");
		}
		for(j=1;j<=2*i-1;j++){
			
			printf("*"); 
		}
		printf("\n");
	}
	return 0;
}
	

 由此可得:

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值