shell编程之打印菱形图案
文章目录
- 第一种
- 第二种
- 总结
第一种
#!/bin/bashread -p "请输入菱形长度:" len
for i in `seq 1 $len` #输出菱形上半部分
dofor ((j=$len-1;j>=$i;j--))doecho -n " " #打印空格对齐图案donefor((m=1;m<=$i;m++))doecho -n "* " #打印*号doneechodonefor i in `seq 1 $len` #输出菱形的下半部分,下半部分要比上半部分少一行
dofor((j=1;j<=$i;j++)) doecho -n " " #打印空格对齐图案donefor((n=$len-1;n>=$i;n--))doecho -n "* " #打印*号doneecho
done
输出结果如下图所示:
第二种
#!/bin/bashread -p "请输入菱形长度:" len #输出菱形上半部分for i in `seq 1 $len`dofor ((j=$len-1;j>=$i;j--))doecho -n " " #打印空格对齐图案donelet num=2*i-1for m in `seq 1 $num`doecho -n "*" #打印*号doneecho donefor i in `seq 1 $len` #输出菱形的下半部分,下半部分要比上半部分少一行dofor ((j=1;j<=$i;j++))doecho -n " " #打印空格对齐图案donelet num="2*(len-i)-1"for n in `seq 1 $num`doecho -n "*" #打印*号doneechodone
输出结果如下图所示:
总结
- 在本次的两个案例中,所用的算法的是一样的,只是表现形式不太一样。要想把这个图形设计工整,就是要处理好空格与※之间的关系,从而通过循环求得,并且分成两部分赖考虑:在第一部分中,当我们输入len之后,第一行是由len-1个,和一个※号,组成随着行数的增加,空格随之减少,二※号不停增加。从而我们就可以得到两个循环取值范围。for ((j=len−1;j>=len-1;j>=len−1;j>=i;j–))表示空格的循环,for((m=1;m<=i;m++))表示※号的循环。在第二部分中,只有len−1行,随着行数的减少,空格不断增加,而※号却在不停的减少。从而我又可以得到两者的循环的取值范围。for((j=1;j<=i;m++))表示※号的循环。在第二部分中,只有len-1行,随着行数的减少,空格不断增加,而※号却在不停的减少。从而我又可以得到两者的循环的取值范围。for((j=1;j<=i;m++))表示※号的循环。在第二部分中,只有len−1行,随着行数的减少,空格不断增加,而※号却在不停的减少。从而我又可以得到两者的循环的取值范围。for((j=1;j<=i;j++))表示空格的循环;for((n=len−1;n>=len-1;n>=len−1;n>=i;n–))表示※号的循环。
shell编程之打印菱形图案相关推荐
- 习题4-9 打印菱形图案 (15 分)
习题4-9 打印菱形图案 (15 分) 本题要求编写程序,打印一个高度为n的.由"*"组成的正菱形图案. 输入格式: 输入在一行中给出一个正的奇数n. 输出格式: 输出由n行星号& ...
- SCAU 1035 打印菱形图案
1035 打印菱形图案 时间限制:1000MS 代码长度限制:10KB 提交次数:4874 通过次数:3064 题型: 编程题 语言: G++;GCC Description 由键盘输入正数n(n&l ...
- 花式打印菱形图案!!
(一).首先我们先来看最简单的打印5行5列 ***** ***** ***** ***** ***** 具体代码如下: /*** 双循环打印菱形图案* * A ** *** BBB * ** **** ...
- java打印菱形图案_java打印出菱形图案实例详解
第一步:首先对图像进行解析 想要打印该图形必须要进行多层循环嵌套,分两个部分进行打印. 第一部分为上半部分前四行,他们是递增的关系,后半部分后三行为递减关系,由此可以得出我们需要写两个打的循环.并且由 ...
- php编辑菱形图案代码,打印菱形图案 (15 分)
打印菱形图案 (15 分) 本题要求编写程序,打印一个高度为n的.由"*"组成的正菱形图案. 输入格式: 输入在一行中给出一个正的奇数n. 输出格式: 输出由n行星号"* ...
- 打印菱形图案的两种方法
打印菱形图案 本题要求编写程序,打印一个高度为n的.由"*"组成的正菱形图案. 输入格式: 输入在一行中给出一个正的奇数n. 输出格式: 输出由n行星号"*"组 ...
- (Java) 实现打印菱形图案
Java 实现打印菱形图案 一.直接看效果图: 随便输入一个数字,然后会生成一个宽度为该数字的菱形: 二.首先先来看下,菱形的结构,由符号和空格组成,所以就用for循环来实现这样的效果,然后来看代码: ...
- PTA 7-12 打印菱形图案
7-12 打印菱形图案 (15分) 本题要求编写程序,打印一个高度为n的.由"*"组成的正菱形图案. 输入格式: 输入在一行中给出一个正的奇数n. 输出格式: 输出由n行星号&qu ...
- 【C】 打印菱形图案
使用VS2019 ISO C++14 标准 (/std:c++14) 打印菱形图案 打印出如下图案(菱形). ********* **************** 代码: //打印菱形图案 #incl ...
最新文章
- Sql Server统计报表案例
- NC:自体免疫水泡皮肤病中鉴定基因与微生物组互作(微生物组关联分析MWAS)
- SQL 存储过程 解析XML
- poj2002 STL set
- EJB3与Spring的集成
- linux 内核空间占用cpu百分比过高,linux下分析java程序占用CPU、内存过高
- 投票彰显电信合约机诺基亚Lumia 800C受热捧
- 程序员找不到对象是因为还没遇到一个有远见的丈母娘
- 【渝粤题库】陕西师范大学164205 ERP原理及应用 作业(专升本)
- 动态滤波网络论文解读
- Android EditText 赋值与取值
- 2007年11月网络工程师考试试题答案
- 另一个串口verilog 代码
- shell--4、Shell 数组
- 什么是WPF,对WPF的认识
- 【Windows7】win7启动 报错 AutoIt错误,不能打开脚本文件
- 磁盘必须经过初始化,逻辑磁盘管理器才能访问——笔记本硬盘作为移动硬盘使用时遇到的问题...
- 关于oracle预言机
- OpenCV中HSV与PS中HSB对应关系
- 谷歌、亚马逊全面开火,一场前所未有的AI芯片大战