shell脚本输出菱形与等边三角形
【前言】
练习shell,提高逻辑能力。
【脚本】
三角形与菱形均通过几个for循环实现,当然也可以用while。
下面是脚本内容:
[三角形]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#!/bin/bash
read -p "please input the longs:" long
for ((i=1;i<=$long;i++))
do
for ((j=$long;j>i;j--)) #控制空格输出
do
echo -n " "
done
for m in ` seq 1 $i` #输出所在行数相同的数字个数,如在第三行,就输出3个3
do
echo -n "$i"
done
#for((n=1;n<i;n++))
for n in ` seq 2 $i` #输出所在行数减一的数字个数,如在第三行,就输出2个三
do ##这连个for循环可以整合到一块,实现每行输出(2*所在行数-1)个数字
echo -n "$i"
done
echo ""
done
|
执行后的效果图:
若将上述脚本内层的两个for循环内"echo -n "$i""的$i换为*后,再次执行脚本效果如下:
[菱形]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
#!/bin/bash
read -p "please input the longs:" long
for ((i=1;i<=$long;i++)) #图形上半部分
do
for ((j=$long;j>i;j--))
do
echo -n " "
done
for m in ` seq 1 $i`
do
echo -n "*"
done
#for((n=1;n<i;n++))
for n in ` seq 2 $i`
do
echo -n "*"
done
echo ""
done
for ((i=2;i<=$long;i++)) #图形下半部分
do
for ((j=1;j<i;j++))
do
echo -n " "
done
let k=$long+1-$i
for m in ` seq 1 $k`
do
echo -n "*"
done
for ((n=1;n<k;n++))
#for n in `seq 2 $k`
do
echo -n "*"
done
echo ""
done
|
改进后:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#!/bin/bash
read -p "please input the longs:" long
for ((i=1;i<=$long;i++)) #控制行数
do
for ((j=$long;j>i;j--)) #控制空格输出
do
echo -n " "
done
let "g=2*i-1"
for m in ` seq 1 $g` #控制*数量
do
echo -n "*"
done
echo ""
done
for ((i=2;i<=$long;i++)) #控制行数
do
for ((j=1;j<i;j++)) #控制空格输出
do
echo -n " "
done
let "k=2*(long-i)+1"
for m in ` seq 1 $k` #控制*数量
do
echo -n "*"
done
echo ""
done
|
执行后的效果图:
本文转自 xoyabc 51CTO博客,原文链接:http://blog.51cto.com/xoyabc/1727758,如需转载请自行联系原作者
shell脚本输出菱形与等边三角形相关推荐
- 教你如何用shell脚本输出菱形
教你如何用shell脚本输出菱形 通过shell脚本,我们可以在脚本中,用不同的符号,来输出一个菱形图案.虽然图案看起来输出比较容易,但是真正写起来,还是要体研究起来,我们还是可以发现,其实还是有点小 ...
- c语言用星号循环打出爱心,学过C语言的同学,是否还记得当年各种打印各种星星。今天,我就改一版使用Shell脚本输出各种星星。打印单个星号 这个没啥可说的,直接上代码:#...
学过C语言的同学,是否还记得当年各种打印各种星星.今天,我就改一版使用Shell脚本输出各种星星.打印单个星号 这个没啥可说的,直接上代码:# cat star.sh #!/bin/bash echo ...
- 用shell脚本输出99乘法表
用shell脚本输出99乘法表 效果: 1 * 1 = 1 1 * 2 = 2 2 * 2 = 4 1 * 3 = 3 2 * 3 = 6 3 * 3 = 9 1 * 4 = 4 2 * 4 = 8 ...
- Python 使用循环结构输出菱形(倒等边三角形)图案
题目要求输出的图案如下所示: 总结了用Python代码实现的方法,具体见下: n = 7## 上半部分三角形 for i in range( n // 2 + 1):print("*&quo ...
- Linux shell脚本输出日志的方法和案例
Linux shell脚本输出日志 #### log_correct函数打印正确的输出到日志文件 function log_correct () {DATE=`date "+%Y-%m-%d ...
- linux c程序中获取shell脚本输出
http://doc.chinaunix.net/linux/201004/512284.shtml1. 前言 Unix界有一句名言:"一行shell脚本胜过万行C程序",虽然这句 ...
- c中获取python控制台输出_linux c程序中获取shell脚本输出的实现方法
[转]Linux Shell脚本调试技术 本文转载自:https://www.ibm.com/developerworks/cn/linux/l-cn-shell-debug/ Shell脚本调试技术 ...
- shell脚本输出颜色
写shell脚本时,用echo命令输出内容,这我们都知道.但是怎么给输出内容上点色呢? 其实很简单,利用-e参数,即启用反斜杠转义的解释. `echo' 对下列反斜杠字符进行转义: \a ...
- inux C程序中获取shell脚本输出(如获取system命令输出)
1. 前言 Unix 界有一句名言:"一行shell脚本胜过万行C程序",虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作.比如实现一个 ping程序来测 ...
最新文章
- Anaconda中安装Orange3脚本-完整版
- TensorFlow人工智能引擎入门教程之十 最强网络 RSNN深度残差网络 平均准确率96-99%
- Linux自学日记1
- Java中 equals和==的区别?
- [crypto]-05.1-PKCS PKCS#1 PKCS#7 PKCS#11的介绍
- Struts2的文件目录
- 的it生活_IT圈生活图鉴篇三丨下班后的突变画风
- 关于测试行业的零星思考
- Php的if自动转换类型,php输出数据字段类型自动转换函数
- sony z2 android 5.0,索尼Xperia Z2 5.0 root教程_索尼Z2获取5.0系统的root
- arm9重启ssh服务_部署ssh使用rsa登录配置
- python3编程入门_python3编程基础之一:操作
- 什么是lambda(函数)?
- Linux ALSA音频子系统二
- ThinkPad笔记本安装win10+Ubuntu17.10双系统
- L2TP的LAC自动拨号实验
- 调用webservice服务方式总结
- SpringMVC整合activiti Modeler
- 研究生综合英语unit4 前四段
- java宠物小精灵_4978:宠物小精灵之收服
热门文章
- cygwin编译verilator_Sublime text3 + Verilator 实现自动语法检错
- VMware 修改虚拟机网络_虚拟机问题解决
- nginx 域名跳转 ---IP跳转----
- 晶振波形不是正弦波_10天电子入门-电感/晶振/声音
- 一周一论文(翻译 总结)— [SOCC 14] DaRPC: Data Center RPC 基于RDMA的高性能通信RPC
- matlab如何模拟竹蜻蜓飞行,JSBSim_Matlab 将 与 进行联合仿真 模拟飞行计算 247万源代码下载- www.pudn.com...
- c++中内敛函数_C++ 内联函数 | 菜鸟教程
- kali linux 里vim如何使用_Kali Linux的vi编辑器/vim编辑器使用方法
- js能订阅mq吗_高颜值宠物营养品订阅盒!除了好看,真的能补充营养吗?
- 费氏搜寻法之算法分析与实现