日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

shell脚本输出菱形与等边三角形

發布時間:2025/4/16 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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脚本输出菱形与等边三角形的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。