shell脚本--------双重循环

本文介绍了使用Shell脚本绘制包括直角三角形、等腰三角形、倒等腰三角形和菱形在内的多种几何图形,通过循环结构实现不同形状的输出。示例中包含了for循环和while循环两种方式,展示了基本的控制流程在图形绘制中的应用。
摘要由CSDN通过智能技术生成

 while循环

直角三角形

#!/bin/bash
read -p "请输入三角形的高:" h
i=1
while [ $i -le $h ]
do
        j=1 
        while [ $j -le $i ]
        do
                echo -n "*"
                let j++ 
        done
        echo
        let i++ 
done 

等腰三角形

#!/bin/bash
read -p "请输入三角形的高:" h
i=1
while [ $i -le $h ]
do
        a=$[ $h - $i ]
        j=1 
        while [ $j -le $a ]
        do
                echo -n " "
                let j++ 
        done

        b=$((2*$i - 1 ))
        k=1 
        while [ $k -le $b ]
        do
                echo -n "*"
                let k++ 
        done
        echo
        let i++
done

倒等腰三角形

#!/bin/bash
read -p "请输入三角形的高:" h
i=1
while [ $i -le $h ]
do
        j=1 
        while [ $j -le $i ]
        do
                echo -n " "
                let j++ 
        done

        k=0 
        a=$(( 2*($h-$i) - 1 ))
        while [ $k -lt $a ]
        do
                echo -n "*"
                let k++ 
        done
        echo
        let i++
done

菱形

#!/bin/bash
# by stanZ
read -p "请输入菱形半径:" h
i=1
while [ $i -le $h ]
do
        a=$[ $h -$i ]
        j=1 
        while [ $j -le $a ]
        do
                echo -n " "
                let j++ 
        done

        b=$((2*$i - 1))
        k=1 
        while [ $k -le $b ]
        do
                echo -n "*"
                let k++ 
        done
        echo
        let i++
done

u=1
while [ $u -lt $h ]
do
        for((n=1;n<=$u;n++))
        do
                echo -n " "
        done

        l=$(( 2*($h-$u)-1 ))
        for((m=1;m<=$l;m++))
        do
                echo -n "*"
        done
        echo
        let u++
done


for循环

倒直角三角形

#!/bin/bash
for ((a=1; a<=9; a++))
do
    for ((b=9; b>=a; b--))
    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
    for ((c=1; c<=a; c++))
    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
    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

倒等腰三角形

#!/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

平行四边形

#!/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个

红包金额最低5元

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

抵扣说明:

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

余额充值