多层for循环、while示例

一、打印九九乘法表

[root@localhost opt]# vim 99chengfabiao.sh

for ((i=1; i<=9; i++))
do
  for ((j=1; j<=$i; j++))
  do
    let sum=i*j
    echo -n -e "$j*$i=$sum\t"
  done
  echo ""
done

在这里插入图片描述

二、打印直线

2.1 for写法

root@localhost opt]# vim forzhixian.sh

for ((a=1;a<=20;a++))
do
   echo -n "*"
done
echo ""

在这里插入图片描述

2.2 while写法

[root@localhost opt]# vim whilezhixian.sh

a=1
while [ $a -le 20 ]
do
   echo -n "*"
let a++
done
echo ""

在这里插入图片描述

三、矩形

3.1 for写法

[root@localhost opt]# vim forjuxing.sh

for ((a=1;a<=9;a++))
do
   for  ((b=1;b<=9;b++))
   do
      echo -n "*"
   done
   echo ""
done

在这里插入图片描述

3.2 while写法

[root@localhost opt]# vim whilejuxing.sh

a=1
while [ $a -le 9 ]
do
   b=1
   while [ $b -le 9 ]
   do
      echo -n "*"
      let b++     
   done
   echo ""
   let a++
done

在这里插入图片描述

四、正直角三角形

4.1 for写法

[root@localhost opt]# vim forzhengzhijiaosanjiaoxing.sh

for ((a=1;a<=9;a++))
do
   for  ((b=1;b<=$a;b++))
   do
      echo -n "*"
   done
   echo ""
done

在这里插入图片描述

4.2 while写法

[root@localhost opt]# vim whilezhengzhijiaosanjiaoxing.sh

a=1
while [ $a -le 9 ]
do
   b=1
   while [ $b -le $a ]
   do
      echo -n "*"
      let b++
   done
   echo ""
   let a++
done

在这里插入图片描述

五、倒直角三角形

5.1 for写法

[root@localhost opt]# vim fordaozhijiaosanjiaoxing.sh

for ((a=1;a<=9;a++))
do
   for  ((b=9;b>=$a;b--))
   do
      echo -n "*"
   done
   echo ""
done

在这里插入图片描述

六、反直角三角形

[root@localhost opt]# vim fanzhijiaosanjiaoxing.sh

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

在这里插入图片描述

七、等腰三角形

[root@localhost opt]# vim dengyaosanjiaoxing.sh

for ((a=1; a<=9; a++))
do
   #输出空倒三角
   for ((b=9; b>=$a; b--))
   do
       echo -n " "   
   done
   #输出实心正三角
   i=$[($a*2)-1]
          #输出*号
   for h in $(seq 1 $i)
   #for ((h=1; h<=$i; h++))
   do     
     echo -n "*"
   done
   echo ""        
done

在这里插入图片描述

八、平行四边形

[root@localhost opt]# vim pingxingsibianxing.sh

for ((a=1;a<=6;a++))
do
   for  ((b=6;b>=$a;b--))
   do
      echo -n " "
   done
   for  ((c=1;c<=6;c++))
   do
      echo -n "*"
   done   
   echo ""
done

在这里插入图片描述

九、梯形

[root@localhost opt]# vim tixing.sh

for ((a=1;a<=6;a++))
do
   for  ((b=6;b>=$a;b--))
   do
      echo -n " "
   done
   for  ((c=1;c<=6+$a;c++))
   do
      echo -n "*"
   done   
   for  ((d=1;d<=$a;d++))
   do
       echo -n "*"
   done
   echo ""
done

在这里插入图片描述

十、菱形

10.1 for写法

[root@localhost opt]# vim lingxing.sh 

      echo -n " "
    done
    for  ((b=9; b>=$i; b--))
    do
      echo -n "*"
    done
    for  ((c=8; c>=$i; c--))
    do
      echo -n "*"
    done
  echo ""  
done


for ((i=2; i<=9; i++))
do
    for  ((a=1; a<=$i; a++))
    do
    echo -n " "
    done
    for  ((b=9; b>=$i; b--))
    do
    echo -n "*"
    done
    for  ((c=8; c>=$i; c--))
    do
    echo -n "*"

在这里插入图片描述

10.2 while写法

[root@localhost opt]# vim whilelingxing.sh

let i++
done

i=8
while [ $i -ge 1 ]
do
   a=9
   while [ $a -ge $i ]
   do
   echo -n " "
   let a--
   done
   b=1
   while [ $b -le $i ]
   do
   echo -n "*"
   let b++
   done
   c=2
   while [ $c -le $i ]
   do
   echo -n "*"
   let c++
   done
echo ""
let i--
done

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值