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;

}

相关推荐
可编程芯片开发10 小时前
基于MATLAB的PEF湍流风场生成器模拟与仿真
算法
罗西的思考10 小时前
【Agentic RL / 强化学习 / OPD】OpenClaw-RL 源码阅读笔记 --- (9)--- Reward Judging
人工智能·算法·机器学习
Mr.HeBoYan12 小时前
一次持续三天才出现的丢包故障——深入解析 DPDK Memory Ordering、rte_ring 与 CPU Memory Barrier (下)
linux·网络·算法·架构·dpdk
wabs66612 小时前
关于图论【深度优先搜索的理论基础】
算法·深度优先·图论
先吃饱再说13 小时前
LeetCode 101. 对称二叉树
算法
是Dream呀14 小时前
人眼看不出的伪造,AI如何识别?实测合合信息跨模态鉴伪与去反光技术
算法
Discipline~Hai14 小时前
ARM01-ARM体系架构
linux·c语言·arm开发·架构
QN1幻化引擎14 小时前
SFA 信号场注意力:用8KB参数换248x KV Cache压缩,边缘设备也能跑长序列
人工智能·算法·gitee·gitlab
段一凡-华北理工大学14 小时前
向量数据库实战:选型、调优与落地~系列文章03:向量相似度算法全解:余弦、欧氏、内积,到底该用哪个?
大数据·数据库·人工智能·算法·机器学习·向量相似度·高炉炼铁
cjr_xyi16 小时前
AT1202Contest_c binarydigit 题解
c语言·c++·算法