C语言教你打星星(搬运)

发表在    起飞吧编程少年 06-19 19:16:16

2 2394 0

相信大家对于电影中特别酷炫的程序员很向往,被他们超神的技能所折服,而现实生活中,编程其实已经不是少数人的专利。大多数对编程感兴趣的朋友都选择自学或在课程网站上进行入门学习。而C语言无疑是我们学习编程最佳的入门语言,它词汇量少但却包含了基本的编程元素,后来的很多语言(C++,Java等)都参考了C语言。下面,我们一起来通过一个小例子领略一下C语言的魅力吧!

现在教大家一个简单有趣的小编程:

怎样实现输入一个整数,然后打出相应行数的星星树。要用到什么知识点呢?

第一步

首先这其实是一道数学题,我们先假设总共要输入5行星星,那么输出结果应该是这样的,

图片1

所以根据图形,第一行是:3个空格+1个星星+3个空格。

第二行是:2个空格+3个星星+2个空格。

.

.

第五行是:0个空格+9个星星+0个空格。

同学们发现规律了吗?

第二步

通过编程语言表达数学规律,此处需要用到for循环语句。

第一个大循环是记录行数的,其中包含三个小循环,第一个是打印每行星星前面的空格数,第二个是打印每行星星个数,第三个是打印星星后的空格。

以下是用从C语言编写的代码,同学们可以亲自动手试验一下哦。

#include "stdio.h"

void main()

{
    int num, i, j;

    printf("请输入一个数字");

    scanf("%d", &num);

    for (i = 1; i <= num; i++)

    {
        for (j = 1; j <= (num - i); j++)

        printf(" ");

        /*输出前半段星星*/

        for (j = 1; j <= 2 * i - 1; j++)

        {
            printf("*");
        }

        /*输出hou半段星星*/

        for (j = 1; j <= (num - 1); j++)

        {
            printf(" ");
        }

        printf("\n");
    }

    scanf("%d", &num);
}


登录或注册后发布评论