shell脚本------多重循环(例题源码解析)

一.九九乘法表

for ((a=1;a<=9;a++))
do
        for ((b=1;b<=a;b++))
        do
        c=$[a*b]
        echo -n -e "$a*$b=$c\t"
        done
echo " "
done

在这里插入图片描述

二.直线

#!/bin/bash

for ((i=1;i<=50;i++))
do
        echo -n "*"
done
echo " "

在这里插入图片描述

三.矩形

#!/bin/bash

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

在这里插入图片描述

四.直角三角形

1.正直角三角形

#!/bin/bash

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

在这里插入图片描述

2.倒直角三角形

#!/bin/bash

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

在这里插入图片描述

五.等腰三角形

1.三角形拼接

#!/bin/bash

for ((a=1;a<=12;a++))
do
        for ((b=12;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

在这里插入图片描述

2.算法(2n-1)

#!/bin/bash

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

在这里插入图片描述

六.平行四边形

#!/bin/bash

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

在这里插入图片描述

七.直角梯形

1.左直角梯形

#!/bin/bash

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

在这里插入图片描述

2.右直角梯形

#!/bin/bash

for ((i=1;i<=10;i++))
do
        for ((a=10;a>=i;a--))
        do
                echo -n " "
        done
        for ((b=1;b<=i;b++))
        do
                echo -n "*"
        done
        for ((c=1;c<=11;c++))
        do
                echo -n "*"
        done
echo " "
done

在这里插入图片描述

八.等腰梯形

#!/bin/bash

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


在这里插入图片描述

九.菱形(可调节大小)

#!/bin/bash
read -p "请输入大小:" s
for ((a=1;a<=s;a++))
do
        for ((b=s;b>=a;b--))
        do
                echo -n  " "
        done
        c=$[a*2-1]
        for d in $(seq 1 $c)  
        do 
        echo -n "*" 
        done  
        echo ""
done
for ((e=s-1;e>=1;e--))
do  
        for ((f=s;f>=e;f--)) 
        do
                echo  -n " "
        done
        for ((h=e;h>=1;h--))
        do
               echo -n "*"

        done
        for ((m=e-1;m>=1;m--))
        do
               echo -n "*"
        done
       echo ""
done

在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值