C语言| 输出*三角形

分析:
① 输入三角形主要分为两部分,
即输出空格和输出星号,要将它们分开,不用考虑空格数和星号个数之间的关系。
② 从每行输出的空格个数来看,若总共输出n行,则第i行首先要输出n - i个空格,然后再输出星号。
③ 从每行输出的星号个数来看,每行输出星号的个数是一个首项为1、公差为2的等差数列,
等差数列的公式为:an=a1+(n -1) d即第i行要输入的星号个数为1+(i -1)×2=2×i -1
④ 编程时我们只需要考虑星号和星号左边的空格即可。星号右边的空格不用考虑。

当遇到N的情况,不知道如何下手,可以先给N赋一个值,从具体的事物开始分析,最后会得到抽象的结果。

【程序代码】

固定的行数,5行来具体分析。

/*
#include <stdio.h>

int main(void)
{
    //固定行数,5行
    for(int j=0; j<=5; j++)
    {
        //左边的空格
        for(int z=0; z<5-j; z++)
        {
            printf(" ");
        }
        //右边的星星
        for(int i=0; i<1+2*j; i++)
        {
            printf("*");
        }
        printf("\n");
        //对每一行,将左边的空格加上星星,就是图形
    }
    return 0;
}
*/

由键盘输入具体的n

#include <stdio.h>

int main(void)
{
    int n=0; //存储行数
    int i, j; //行循环变量i,空格和星号循环变量

    printf("请输入行数:");
    scanf("%d", &n);

    //行数由用户输入的n决定
    for(i=0; i<=n; i++)
    {
        //左边的空格
        for(j=0; j<n-i; j++)
        {
            printf(" ");
        }

        for(j=0; j<1+(i-1)*2; j++)
        {
            printf("*");
        }    
            printf("\n");
    }

    return 0;
}
 

  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值