当前位置:网站首页>【打印菱形】
【打印菱形】
2022-08-03 05:11:00 【tt142】
流程如下
其实就是把一个行数为奇数的菱形,拆分为上部分(奇数行)和下部分(偶数行)
先来说上部分
创建j代表列数
j范围是1-?
?其实不需要太在意,只要比n小就可以,所以直接写n也无所谓的
但是在选择要打印空格还是*就要仔细分辨
需要自己举例来看
比如n=13,此时n/2=6,j最大是第七行,第七行有13列
而每一行中心的*一定有,观察发现,每往下走一行*的分布就从中间左右各延伸i-1个
(第一行不延伸,第二行延伸一个...)
按照这个规律来打印*和空格
打印下半部分
只需要改变i的行数,是上半部分的逆序即可
而j的打印和上面一样
所以代码就是
int main()
{
int n = 0;
printf("您想要的高度是:\n");
scanf("%d", &n);
for (int i=1;i <= n / 2 + 1;i++)
{
for (int j = 1; j <=n; j++)
{
if( (j > n / 2+1 - i)&& (j<n/2+1+i))
{
printf("*");
}
else
printf(" ");
}
printf("\n");
}
for (int i = n / 2; i >= 1; i--)
{
for (int j = 1; j <= n; j++)
{
if ((j > n / 2 + 1 - i) && (j < n / 2 + 1 + i))
{
printf("*");
}
else
printf(" ");
}
printf("\n");
}
}
如果觉得学会了赶紧看看下面这篇升级版文章吧
https://blog.csdn.net/weixin_71138261/article/details/126087103?spm=1001.2014.3001.5501
边栏推荐
猜你喜欢
在树莓派上搭建属于自己的网页(2)
Power button 561. An array of split
typescript39-class类的可见修饰符
Coordinate knowledge in digital twin campus scenarios
力扣561. 数组拆分
Apache DolphinScheduler版本2.0.5分布式集群的安装
Modified BiotinDIAZO-Biotin-PEG3-DBCO|diazo-biotin-tripolyethylene glycol-diphenylcyclooctyne
集合框架知识
Pr第三次培训笔记
typescript40-class类的保护修饰符
随机推荐
Pr第四次培训笔记
flask 面试题 问题
Alienware上线首个数字时装AR试穿体验
Detailed explanation of MOSN reverse channel
飞机大战完整版
[Harmony OS] [ARK UI] ETS context basic operations
presto安装部署教程
快速上手 Mockito 单元测试框架
Installation of Apache DolphinScheduler version 2.0.5 distributed cluster
vim命令
shell script loop statement
1094 谷歌的招聘 (20 分)
1060 爱丁顿数 (25 分)
高可用 两地三中心
Tag stack - stack monotonically preparatory knowledge - lt. 739. The daily temperature
Common lipophilic cell membrane dyes DiO, Dil, DiR, Did spectrograms and experimental procedures
ss-2.子项目互相访问(order80 -> payment8001)
NotImplementedError: file structure not yet supported
ss-5.consul服务端+生产者+消费者
Object类与常用API