C语言用一种比较特别的方法打印金字塔

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

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

#include
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");
    }
}

C语言用一种比较特别的方法打印金字塔_第1张图片

 

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

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

你可能感兴趣的:(c语言)