本方法的思想是:先打印最左边的空格部分,然后再打印金字塔。
打印金字塔方法是:把“*”和空格都考虑进去,然后再逐行进行打印每行,每行中奇数位打印“*”,偶数位打印空格。
#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语句来判断奇偶性,以此来判断是输出*还是空格。
如果有疑问,请留言提问!