图形7:倒等腰三角形
方法一:
先输出一个空格直角三角形,再输出一个星星填充的反直角三角形,最后输出一个星星填充的倒直角三角形。
#!/bin/bash
#倒等腰三角形
#先输出一个空格直角三角形
#再输出一个星星填充的反直角三角形
#最后输出一个星星填充的倒直角三角形
for a in {1..9}
#输出一个空格填充的直角三角形
for b in `seq 1 $a`
echo -n " "
#再输出一个星星填充的反直角三角形
for c in `seq $a 9`
echo -n "*"
#最后输出一个星星填充的倒直角三角形
for d in `seq $a 8`
echo -n "*"
#用于换行,echo默认打印换行符
[root@yuji ~]# bash hua7.sh
*****************
***************
*************
***********
*********
*******
*****
复制代码
方法二:
#!/bin/bash
#倒等腰三角形
#a从9开始
#先输出一个空格直角三角形
#之后每行的星星个数=2a-1
for a in {9..1}
#输出一个空格填充的直角三角形
for ((b=9;b>=a;b--))
echo -n " "
#每行的星星个数=2a-1
i=$[(a*2)-1]
for j in `seq $i`
echo -n "*"
#用于换行,echo默认打印换行符
复制代码
图形8:菱形(正等腰三角形+倒等腰三角形)
先输出一个正等腰三角形(9行);再输出一个倒等腰三角形(8行)。
#!/bin/bash
#正等腰三角形+倒等腰三角形
#正等腰三角形,一共9行
for a in {1..9}
#输出一个空格填充的倒直角三角形
for ((b=9;b>=a;b--))
echo -n " "
#每行的星星个数=2a-1
i=$[(a*2)-1]
for j in `seq $i`
echo -n "*"
#倒等腰三角形,一共8行
for a in {8..1}
for ((b=9;b>=a;b--))
echo -n " "
#每行的星星个数=2a-1
i=$[(a*2)-1]
for j in `seq $i`
echo -n "*"
[root@yuji ~]# bash hua8.sh
*****
*******
*********
***********
*************
***************
*****************
***************
*************
***********
*********
*******
*****
复制代码
图形9:平行四边形
方法一:
先输出一个空格填充的直角三角形,之后每行输出相同个数的星星。
#!/bin/bash
#平行四边形
#先输出一个空格填充的直角三角形
#之后每行输出相同个数的星星
for a in {1..9}
#输出一个空格直角三角形
for b in `seq 1 $a`
echo -n " "
#每行输出9个星星
for c in {1..9}
echo -n "*"
[root@yuji ~]# bash hua9.sh
*********
*********
*********
*********
*********
*********
*********
*********
*********
复制代码
方法二:
先输出一个空格填充的倒直角三角形,之后每行输出相同个数的星星。
#!/bin/bash
#平行四边形
#先输出一个空格填充的直角三角形
#之后每行输出相同个数的星星
for a in {1..9}
#输出一个空格直角三角形
for b in `seq $a 9`
echo -n " "
#每行输出9个星星
for c in {1..9}
echo -n "*"
[root@yuji ~]# bash hua09.sh
*********
*********
*********
*********
*********
*********
*********
*********
*********
复制代码
图形10:直角梯形
将平行四边形左边的空格直角三角形,变成星星直角三角形。
#!/bin/bash
#直角梯形
#使用"直角三角形+平行四边形"的方式
for a in {1..9}
#输出一个星星填充的直角三角形
for b in `seq 1 $a`
echo -n "*"
#每行输出9个星星
for c in {1..9}
echo -n "*"
[root@yuji ~]# bash hua10.sh
**********
***********
************
*************
**************
***************
****************
*****************
******************
复制代码
图形11:等腰梯形
先输出一个空格填充的倒直角三角形;之后输出每行的星星,每行的星星个数=n+行数×2(n为任意正整数,每一行的星星个数都比上一行多2个)。
#!/bin/bash
#等腰梯形
#先输出一个空格填充的倒直角三角形(9行)
#每行的星星个数=9+行数×2
for a in {1..9}
#输出一个空格填充的倒直角三角形
for ((b=9;b>=a;b--))
echo -n " "
#每行输出(9+2a)个星星
i=$[9+a*2]
for ((c=1;c<=i;c++))
echo -n "*"
[root@yuji ~]# bash hua11.sh
***********
*************
***************
*****************
*******************
*********************
***********************
*************************
***************************