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;

}

相关推荐
fpcc2 小时前
算法和数据结构—动态规划法
数据结构·算法·动态规划
星星.7225 小时前
C++算法竞赛|二分查找与二分答案:边界模板、浮点二分、STL
数据结构·c++·算法
sel_95 小时前
【OPD论文导读(二)】OPD(On-Policy Distillation)全景调研:十篇论文讲透“在自己生成的内容上学习“这件事
人工智能·python·深度学习·学习·算法·语言模型
老当益壮梁奶奶5 小时前
Linux 软件编程学习笔记(六):线程编程入门与实践
linux·c语言·c++·笔记·学习
金幄科技5 小时前
RAG第四篇:重排序 Rerank——粗召回之后,为什么还需要一次精排
人工智能·算法·ai·ai编程
M78佐菲6 小时前
Linux学习笔记:文件IO
linux·笔记·学习·算法
水饺编程6 小时前
第5章,[Win32 章节] :创建、选择和删除画笔
c语言·c++·windows·visual studio
lhldsg6 小时前
课程排课系统实战指南:从数据库设计到算法调优全流程解析
java·数据库·算法·小程序
BSD_HY6 小时前
薄膜开关矩阵扫描电路设计中的防鬼键措施
人工智能·算法·矩阵·人机交互·薄膜开关·源头工厂·深圳工厂
linux-hzh6 小时前
百日算法修炼 · Day 17
数据结构·算法