使用双循环花式打印图形
外层循环用于表示行数
内层循环用于表示列数
1.实行矩形
每一行打印9个星星,一共打印9行
#!/bin/bash
for ((a=1;a<=9;a++))
do
for ((b=1;b<=9;b++))
do
echo -n '*'
done
echo ''
done
2.空心矩形
步骤:第一行和第九行输出7个星星
2-6行,除第一列和最后一列输出星星,其余空格
#!/bin/bash
for ((a=1;a<=7;a++))
do
for ((b=1;b<=7;b++))
do
if [ $a -eq 1 -o $a -eq 7 ]
then
echo -n '*'
else
if [ $b -eq 1 -o $b -eq 7 ]
then
echo -n '*'
else
echo -n ' '
fi
fi
done
echo ''
done
3.直角三角形
#!/bin/bash
for ((a=1;a<=9;a++))
do
for ((b=1;b<=a;b++))
do
echo -n '*'
done
echo ""
done
4.倒直角三角形
#!/bin/bash
for ((a=9;a>=1;a--))
do
for ((b=1;b<=a;b++))
do
echo -n '*'
done
echo ""
done
5.反直角三角形
#!/bin/bash
#反三角形
for ((a=1;a<=9;a++))
do
for ((b=9;b>=a;b--))
do
echo -n ' '
done
for ((c=1;c<=a;c++))
do
echo -n '*'
done
echo
done
6.等腰直角三角形
方法一:图形拼接法
#!/bin/bash
for ((a=1;a<=9;a++))
do
for ((b=9;b>=a;b--))
do
echo -n ' '
done
for ((c=1;c<=a;c++))
do
echo -n '*'
done
for ((d=2;d<=a;d++))
do
echo -n '*'
done
echo ''
done
方法二:数学公式
#!/bin/bash
for ((a=1;a<=9;a++))
do
for ((b=9;b>=a;b--))
do
echo -n ' '
done
i=$[(a * 2) - 1]
for ((c=1;c<=i;c++))
do
echo -n '*'
done
echo ''
done
7.倒等腰三角形
方法一:图形拼接法
#!/bin/bash
for ((a=1;a<=9;a++))
do
for ((b=1;b<=a;b++))
do
echo -n ' '
done
for ((c=9;c>=a;c--))
do
echo -n '*'
done
for ((d=8;d>=a;d--))
do
echo -n '*'
done
echo ''
done
方法二:数学公式
#!/bin/bash
#倒等腰三角形
for ((a=9;a>=1;a--))
do
for ((b=9;b>=a;b--))
do
echo -n ' '
done
i=$[(a * 2) - 1]
for ((c=1;c<=i;c++))
do
echo -n '*'
done
echo
done
8.菱形
先输出一个正等腰三角形(9行);再输出一个倒等腰三角形(8行)
#!/bin/bash
for ((a=1;a<=9;a++))
do
for ((b=9;b>=a;b--))
do
echo -n ' '
done
i=$[(a * 2) - 1]
for ((c=1;c<=i;c++))
do
echo -n '*'
done
echo ''
done
for ((a=8;a>=1;a--))
do
for ((b=9;b>=a;b--))
do
echo -n ' '
done
i=$[(a * 2) - 1]
for ((c=1;c<=i;c++))
do
echo -n '*'
done
echo
done
9.平行四边形
方法一:先输出一个空格填充的直角三角形,之后每行输出相同个数的星星
#!/bin/bash
#平行四边形
for ((a=1;a<=9;a++))
do
for ((c=1;c<=a;c++))
do
echo -n ' '
done
for ((b=1;b<=9;b++))
do
echo -n '*'
done
echo ''
done
方法二:先输出一个空格填充的倒直角三角形,之后每行输出相同个数的星星
#!/bin/bash
#平行四边形
for ((a=1;a<=9;a++))
do
for ((c=9;c>=a;c--))
do
echo -n ' '
done
for ((b=1;b<=9;b++))
do
echo -n '*'
done
echo ''
done
10、直角梯形
将平行四边形左边加上一个直角三角形
方法一:
#!/bin/bash
#直角梯形
for ((a=1;a<=9;a++))
do
for ((b=1;b<=9;b++))
do
echo -n '*'
done
for ((c=1;c<=a;c++))
do
echo -n '*'
done
echo
done
方法二:
#!/bin/bash
#直角梯形2
for ((a=1;a<=9;a++))
do
c=$[9 + a]
for ((b=1;b<=c;b++))
do
echo -n '*'
done
echo ''
done
11.等腰梯形
#!/bin/bash
#等腰直角梯形
for ((a=1;a<=9;a++))
do
for ((d=9;d>=a;d--))
do
echo -n ' '
done
c=$[9 + a]
for ((b=1;b<=c;b++))
do
echo -n '*'
done
for ((c=1;c<=a;c++))
do
echo -n '*'
done
echo ''
done