C语言简单for循环--小树图形表示

        今天我们继续巩固C语言中for循环的用法,解决昨天留下的问题--如何利用代码完成一个小树图形呢?

拿到图形,若想将他通过C语言表示出来,首先要做的就是观察他是如何构成的。

有了昨天的经验,我们可以将该图形分为三部分--小三角、大三角、下面的树干。

         首先我们看看小三角该如何完成:①需要打出相应的空格;那么如何实现呢?我们可以思考空格与行数的关系,易得空格数=9-所在行数;②需要打出相应数量的‘*’,通过观察我们发现每一行的‘*’个数为2*所在行数-1;

紧接着是大三角的完成,与小三角有着相同的过程,同学们可以自行尝试;

最后是下面树干部分的完成;之一部分相对简单,因为他每一行的构成是相同的,我们只需构造出每一行的元素,让他循环九行即可。通过观察我们可以发现每一行都是七个空格和三个‘*’;

最后我们可以写出代码

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main() {
    int a = 0, b = 0, c = 0, d = 0, e = 0, f = 0, x = 0, y = 0, z = 0;//命名足够的变量为后面做准备
    for (a = 1; a <= 5; a++) {//第一个大循环针对上面的小三角,搞清楚循环的行数
        for (b = 1; b <= 9 - a; b++) {//‘*’前要准备足够的空格,空格数=9-所在行数
            printf(" ");
        }
        for (d = 1; d <= 2 * a - 1; d++)//用‘*’打出树的主体部分,‘*’个数=2*所在行数-1

        {
            printf("*");
        }printf("\n");//注意每行完成后要换行
    }
    for (c = 1; c <= 9; c++) {//第二个大循环针对下面的大三角,行数为9行
        for (e = 1; e <= 9 - c; e++) {//同上,打出相应空格
            printf(" ");
        }
        for (f = 1; f <= 2 * c - 1; f++) {//打出‘*’构成的树的主体部分
            printf("*");
        }printf("\n");//注意换行
    }
    for (x = 1; x <= 9; x++) {//第三个大循环针对下面的树干
        for (y = 1; x <= 7; x++) {//仅需考虑需要打出9行,每一行都由相同的空格和‘*’构成
            printf("       ***\n");
        }

    }
    return 0;
}

注意一下,这里我用的工具是Visual Studio 2022

下期我们要学习用for循环解决简单的“鸡兔同笼”问题,同学们可以尝试以下:鸡兔共有13个头,36只脚,那么鸡兔各自多少只?

同学们可以自己尝试一下,不懂的部分,可以打在评论区!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值