C语言| 输出*三角形

分析:

① 输入三角形主要分为两部分,

即输出空格和输出星号,要将它们分开,不用考虑空格数和星号个数之间的关系。

② 从每行输出的空格个数来看,若总共输出n行,则第i行首先要输出n - i个空格,然后再输出星号。

③ 从每行输出的星号个数来看,每行输出星号的个数是一个首项为1、公差为2的等差数列,

等差数列的公式为:an=a1+(n -1) d即第i行要输入的星号个数为1+(i -1)×2=2×i -1。

④ 编程时我们只需要考虑星号和星号左边的空格即可。星号右边的空格不用考虑。

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

【程序代码】

/*

#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;

}

*/

#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;

}

相关推荐
hongmai66688810 分钟前
MP2348GTL-Z:这颗24V/4A同步降压芯片,把性能和体积平衡得恰到好处
c语言·开发语言·arm开发·单片机·5g
多弗朗皮卡丘14 分钟前
C语言梦开始的地方19:文件操作
c语言·开发语言
猎头南楼23 分钟前
具身智能模型部署方向的能力要求与技术栈梳理
人工智能·深度学习·算法
万法若空1 小时前
C/C++ 类型别名定义方式对比
java·c语言·c++
啥都想学点的研究生1 小时前
一篇文章讲清楚:线性回归问题的求解——正规方程法
算法·机器学习·线性回归
青少儿编程课堂2 小时前
树状数组精讲:逆序对计数与离散化(附双语言解法)
算法·树状数组·离散化·信息学奥赛·逆序对
血小板要健康2 小时前
网格 dfs 与 FloodFill:从岛屿、区域到搜索路径
笔记·算法·leetcode·深度优先
VALENIAN瓦伦尼安教学设备3 小时前
设备状态检测振动分析实训台案例分析
大数据·数据库·人工智能·嵌入式硬件·算法
小小晓.3 小时前
C++ 值类别与完美转发深度剖析:从左值右值到 std::forward 源码解密
开发语言·c++·算法
怕浪猫3 小时前
用了两年 AI 编程工具后,我重新理解了什么是「资深工程师」
算法·面试·架构