打印如下图案
1
12
123
1234
12345
123456
1234567
12345678
123456789
12345678910
123456789
12345678
1234567
123456
12345
1234
123
12
1
#!/bin/bash
# 打印上半部分
for ((y=1;y<=10;y++))
do
for ((x=1;x<=$y;x++))
do
#取消换行,确保轴上数字落到同一行,如123
echo -n $x
done
echo
done
# 打印下半部分
for y in {9..1}
do
for ((x=1;x<=$y;x++))
do
echo -n $x
done
echo
done
解析:
1
12
123
当y=1,x=1,即打印1
当y=2,x<=y=2,即打印12
当y=3,x<=y=3,即打印123
x轴负责打印数字,y轴负责换行
打印如下图案
1
212
32123
4321234
543212345
65432123456
7654321234567
876543212345678
98765432123456789
109876543212345678910
98765432123456789
876543212345678
7654321234567
65432123456
543212345
4321234
32123
212
1
#!/bin/bash
# 上半部分
for ((i=1; i<=10; i++))
do
# 打印前导空格
for ((j=10; j>i; j--))
do
echo -n " "
done
# 打印递减数字
for ((k=i; k>=1; k--))
do
echo -n "$k"
done
# 打印递增数字(从2开始)
for ((l=2; l<=i; l++))
do
echo -n "$l"
done
echo "" # 换行
done
# 下半部分
for ((i=9; i>=1; i--))
do
# 打印前导空格
for ((j=10; j>i; j--))
do
echo -n " "
done
# 打印递减数字
for ((k=i; k>=1; k--))
do
echo -n "$k"
done
# 打印递增数字(从2开始)
for ((l=2; l<=i; l++))
do
echo -n "$l"
done
echo "" # 换行
done