shell脚本输出菱形与等边三角形
生活随笔
收集整理的這篇文章主要介紹了
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脚本输出菱形与等边三角形的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python回顾与整理10:模块
- 下一篇: Linux下Tomcat添加为系统服务