#!/bin/bash
for ((a=1;a<=9;a++)) 输出第一位数
do
for ((b=1;b<=$a;b++)) 输出第二位数,第二位数要小于等于第一位数
do
c=$[$a*$b]
echo -ne "$a*$b=$c\t"
done
echo ""
done
#!/bin/bash
for ((a=1;a<=9;a++))
do
for ((b=1;b<=a;b++))
do
echo -ne "$a*$b=$[$a*$b]\t"
done
echo ""
done
#!/bin/bash
a=1
while [ $a -le 9 ]
do
b=1
while [ $b -le $a ]
do
let sum=$a*$b
echo -ne "$a*$b=$sum\t"
let b++
done
let a++
echo ""
done
#!/bin/bash
for ((a=1;a<=20;a++)) 输出直线循环,循环20次,每次输出一个*
do
echo -n "*" -n表示不换行,所以输出为直线
done
echo "" ""表示换行
一直上面输出的是直线,矩形即是输出多条直线,然后组合就是一个矩形
所以在直线的for循环外面再套一个循环
#!/bin/bash
for ((b=1;b<=5;b++)) 矩形循环(多次循环直线)
do
for ((a=1;a<=20;a++)) 直线循环(多次循环*),不懂看上一条
do
echo -n "*" -n不换行
done
echo "" “”换行,不换行就是一条很长的直线,因为多条直线连在一起了
done
#!/bin/bash
for ((a=1;a<=10;a++)) 输出行数
do
for ((b=1;b<=a;b++)) 输出直线,因为此处b<=a,所以每行的*数并不一样,不再是一样长的直线了,而是随着a的值不断增大的直线
do
echo -n "*"
done
echo ""
done
#!/bin./bash
for ((a=1;a<=10;a++)) 输出行数
do
for ((i=10;i>=a;i--)) 输出左侧需要的空格,空格的数量也是根据i>=a来决定,随着a的逐步增加而减少,如果实在不懂,可以带两个数进去检测一下
do
echo -n " "
done
for ((b=1;b<=a;b++))
do
echo -n "*"
done
echo ""
done
#!/bin/bash
for ((a=1;a<=10;a++)) 输出行数
do
for ((b=10;b>=a;b--)) 因为是倒三角,所以*的数量应该从多到少,所以是b>=a, 随着a的增大直线中*的数量会变少,因为当不满足b>=a这个条件时,*数会被截断
do
echo -n "*"
done
echo ""
done
方法一:数学算法,直接输出奇数个*
#!/bin/bash
for ((a=1;a<=10;a++))
do
for ((b=10;b>=a;b--))
do
echo -n " "
done
i=$[($a*2)-1]
for ((c=1;c<=i;c++))
do
echo -n "*"
done
echo ""
done
方法二:空格倒三角拼靠右直角三角再拼靠左直角三角
#!/bin/bash
for ((a=1;a<=10;a++))
do
for ((b=10;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
read -p "获取行号" a
for ((i=1;i<=a;i++))
do
for((k=$a-$i;k>0;k--))
do
echo -n ' '
done
for ((h=1;h<=$((2*$i-1));h++))
do
echo -n '*'
done
echo''
done
#!/ban/bash
for ((a=1;a<=10;a++)) 输出行数,多行长度相同的直线按照斜三角形排列方式就变成了平行四边形
do
for ((b=10;b>=a;b--)) 输出空三角形
do
echo -n " "
done
for ((c=1;c<=15;c++)) 输出直线
do
echo -n "*"
done
echo
done
方法一:在直角三角形的基础上掐掉头,即去掉前几行,行数有第一层变量a决定,所以修改初始a的值
#!/bin./bash
for ((a=5;a<=10;a++)) 输出行数,a=5掐去三角形的头部
do
for ((i=10;i>=a;i--)) 输出空倒三角形
do
echo -n " "
done
for ((b=1;b<=a;b++)) 输出直线
do
echo -n "*"
done
echo ""
done
方法二:在这里是在空倒三角形的基础上拼靠右直角三角形再拼矩形
#!/bin./bash
for ((a=1;a<=10;a++)) 输出行数
do
for ((b=10;b>=a;b--)) 输出空倒三角形
do
echo -n " "
done
for ((c=1;c<=a;c++)) 输出靠右直角三角形
do
echo -n "*"
done
for ((d=1;d<=4;d++)) 输出矩形
do
echo -n "*"
done
echo
done
方法三:在空倒三角形的基础上输出梯形
for ((a=1;a<=10;a++))
do
for ((b=10;b>=a;b--))
do
echo -n " "
done
for ((c=1;c<=$[$a+5];c++))
do
echo -n "*"
done
echo
done
for ((a=1;a<=10;a++))
do
for ((c=1;c<=$[$a+5];c++))
do
echo -n "*"
done
echo
done
方法一:在等腰三角形的基础上掐掉头
#!/bin/bash
for ((a=5;a<=10;a++)) 输出行数,a=5掐掉头
do
for ((b=10;b>=a;b--)) 输出空倒三角行
do
echo -n " "
done
i=$[$a*2-1]
for ((c=1;c<=i;c++)) 输出直线形成等腰三角形
do
echo -n "*"
done
echo
done
方法二:空倒三角行+靠右直角三角形+矩形+靠左直角三角形
方法三:直角三角形+直角梯形
在此略
在这里先输出一个倒等腰三角形
#!/bin/bash
for ((a=1;a<=10;a++))
do
for ((b=1;b<=a;b++))
do
echo -n " "
done
i=$[$a*2-1]
for ((c=19;c>=$i;c--))
do
echo -n "*"
done
echo
done
#!/bin/bash
for ((a=1;a<=10;a++)) 输出行数
do
for ((b=10;b>=a;b--)) 输出空倒三角
do
echo -n " "
done
i=$[$a*2-1]
for ((c=1;c<=i;c++)) 输出正等腰三角
do
echo -n "*"
done
echo
done
for ((p=2;p<=10;p++)) 输出行数
do
for ((q=1;q<=p;q++)) 输出空正三角
do
echo -n " "
done
h=$[$p*2-1]
for ((w=19;w>=$h;w--)) 输出倒等角三角
do
echo -n "*"
done
echo
done
方法二:拼接法(空倒三角+直角三角)
#!/bin/bash
for ((a=1;a<=10;a++)) 输出行数
do
for ((b=10;b>=a;b--)) 输出空倒三角
do
echo -n " "
done
for ((c=1;c<=a;c++)) 输出直角三角1
do
echo -n "*"
done
for ((d=2;d<=a;d++)) 输出直角三角2
do
echo -n "*"
done
echo
done
for ((p=1;p<=10;p++))
do
for ((q=1;q<=p;q++)) 输出空正三角
do
echo -n " "
done
for ((s=10;s>=p;s--)) 输出直角三角3
do
echo -n "*"
done
for ((w=9;w>=p;w--)) 输出直角三角4
do
echo -n "*"
done
echo
done