C语言金字塔

金字塔,效果图如下

代码如下:

#include<stdio.h>  
  
int main() {  
    int a, b;  
    for (a = 1; a <= 4; a++) {  
        for (b = 1; b <= 4 + a - 1; b++) {  
            if (b <= 4 - a)  
                printf(" ");  
            else  
                printf("*");  
        }  
        printf("\n");  
    }  
    return 0;  
}

这段代码通过两个嵌套的for循环来打印一个由空格和星号组成的金字塔图案,在内层循环中,if语句检查b是否小于或等于4 - a。如果是,则打印一个空格,否则,打印一个星号。随着a的增加,每一行的星号数量会递增,而空格数量会递减。

现在不妨大家想想看,a和b分别都代表了什么?

答:a代表了在创建金字塔时,循环走过的行数,b会根据这个行数确定输出的是空格,还是星号,执行完一次内部的循环,那么就自动换到下一行。

那么我们不只是要搭建这一个金字塔,我还要更多,我想自己创多少行就多少行,怎么办?

答:我们可以使用scanf函数,将行数输入,自然也就能想创建多少行就能多少行了。

代码如下:

#include<stdio.h>  
int main() {  
    int a, b, c;
    printf("请输入你的金字塔的行数:");
    scanf("%d",&c);
    for (a = 1; a <= c; a++) {  
        for (b = 1; b <= c + a - 1; b++) {  
            if (b <= c - a)  
                printf(" ");  
            else  
                printf("*");  
        }  
        printf("\n");  
    }  
    return 0;  
}

这个c就是我们要输入的金字塔的行数。

特别注意:scanf("%d",&c");        c前必须加&!否则运行不了!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值