c语言一种特殊的办法打印金字塔

483 阅读1分钟

本方法的思想是:先打印最左边的空格部分,然后再打印金字塔。 

 打印金字塔方法是:把“*”和空格都考虑进去,然后再逐行进行打印每行,每行中奇数位打印“*”,偶数位打印空格。 

#include<stdio.h>
int main()
{
	int i; //i表示行数
	int j; //j表示个数
	int m; //表示每行总个数,包括*和空格
	int num; //num表示金字塔的层数
	printf("请输入你要打印的层数:");
	scanf("%d",&num);
	for(i=1;i<=num;i++)
	{
		for(int x=1;x<=2*(num-i+1)-2;x++){
			printf(" ");
		}
		for(j=1,m=4*i-3;j<=m;j++)
		{
			if(j%2==0)
			{
				printf(" ");
			}
			else
			{
				printf("*");
			}
		}
		printf("\n");
	}
}

通过观察空格数总结规律,打印出来空格,然后开始打印金字塔,利用if语句来判断奇偶性,以此来判断是输出*还是空格。

如果有疑问,请留言提问!