【面试出题】用shell实现打印三角形

用shell实现:随机输入三角形的层次,打印如示三角形

解题:

 1 # !/usr/bin/env bash
 2 #输入三角形边长(n个* 3 read -p "Please input the triangle side :" n
 4 #遍历n行三角形
 5 for i in `seq $n`
 6 do
 7         #打印空格
 8         for j in `seq $[n-i]`
 9         do
10                 echo -e " \c"
11         done
12         #除第一行外打印一个星号
13         if [[ "$i" -ne 1 ]]; then
14         echo -e "*\c"
15         fi
16         #除第一行和最后一行打印空格
17         if [[ "$i" -ne 1 && "$i" -ne "$n" ]]; then
18         {
19                 for k in `seq $[2*(i-1) -1]`
20                 do
21                 echo -e " \c"
22                 done
23         }
24         fi
25         #最后一行打印星号
26         if [[ "$i" -eq "$n"  ]]; then
27         {
28                 k=0
29                 for k in `seq $[2*i-3]`
30                 do
31                         echo -e "*\c"
32                 done
33         }
34         fi
35         echo -e "*"
36 done
View Code

 

posted @ 2020-11-22 13:32  gtea  阅读(397)  评论(1编辑  收藏  举报