Shell脚本--For多重循环练习--使用星星符号输出各种图形


一、9×9乘法守则

[root@localhost opt]# vim 9981.sh 

#!/bin/bash

c=0

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
[root@localhost opt]# . 9981.sh 
1*1=1	
2*1=2	2*2=4	
3*1=3	3*2=6	3*3=9	
4*1=4	4*2=8	4*3=12	4*4=16	
5*1=5	5*2=10	5*3=15	5*4=20	5*5=25	
6*1=6	6*2=12	6*3=18	6*4=24	6*5=30	6*6=36	
7*1=7	7*2=14	7*3=21	7*4=28	7*5=35	7*6=42	7*7=49	
8*1=8	8*2=16	8*3=24	8*4=32	8*5=40	8*6=48	8*7=56	8*8=64	
9*1=9	9*2=18	9*3=27	9*4=36	9*5=45	9*6=54	9*7=63	9*8=72	9*9=81	

二、正直角三角形

方法一

[root@localhost opt]# vim zx1.sh 

#!/bin/bash

for ((a=1;a<=9;a++))
do
        for ((b=1;b<=$a;b++))
        do
                echo -n "*"
        done
echo ""
done
[root@localhost opt]# . zx1.sh 
*
**
***
****
*****
******
*******
********
*********

方法二

[root@localhost opt]# vim zx1.sh 

#!/bin/bash

for ((a=1;a<=9;a++))
do
        for ((b=1;b<=$a-1;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
echo ""
done

方法二

[root@localhost opt]# vim zx2.sh 

#!/bin/bash

for ((a=1;a<=9;a++))
do
        for ((b=9;b>=$a+1;b--))
        do
        echo -n "*"
        done
echo "*"
done
[root@localhost opt]# . zx2.sh 
*********
********
*******
******
*****
****
***
**
*


四、反方向的直角三角形

正的

[root@localhost opt]# vim zx3.sh

#!/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
[root@localhost opt]# . zx3.sh 
         *
        **
       ***
      ****
     *****
    ******
   *******
  ********
 *********
 

反的

#!/bin/bash

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

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

echo ""
done
[root@localhost opt]# . zx3.sh 
 *********
  ********
   *******
    ******
     *****
      ****
       ***
        **
         *
         

延伸:平行四边形

[root@localhost opt]# vim zz1.sh

#!/bin/bash
#!/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=9;d>=$a;d--))
        do
                echo -n "*"
        done

echo ""
done

[root@localhost opt]# ./zz1.sh 
         **********
        **********
       **********
      **********
     **********
    **********
   **********
  **********
 **********

五、等腰三角形

[root@localhost opt]# vim xc1.sh

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

[root@localhost opt]# . xc1.sh 
         *
        ***
       *****
      *******
     *********
    ***********
   *************
  ***************
 *****************

[root@localhost opt]# vim xc2.sh

#!/bin/bash

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

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

        for ((d=8;d>=$a;d--))
        do
        echo -n "*"
        done
echo ""
done

[root@localhost opt]# . xc2.sh 
 *****************
  ***************
   *************
    ***********
     *********
      *******
       *****
        ***
         *


六、正梯形

[root@localhost opt]# vim xc3.sh

#!/bin/bash

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

        for ((c=2;c<=$a;c++))
        do
        echo -n "*"
        done

echo ""
done

[root@localhost opt]# . xc3.sh 
*********
**********
***********
************
*************
**************
***************
****************
*****************

[root@localhost opt]# vim xc4.sh

#!/bin/bash

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

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

echo ""
done


七、等腰梯形

[root@localhost opt]# vim zxc3.sh

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

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

echo ""

[root@localhost opt]# . zxc3.sh 
         **********
        ************
       **************
      ****************
     ******************
    ********************
   **********************
  ************************
 **************************

[root@localhost opt]# vim zz2.sh

#!/bin/bash

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

        echo ""
done

[root@localhost opt]# . zz2.sh 
 ****************************
  **************************
   ************************
    **********************
     ********************
      ******************
       ****************
        **************
         ************


八、菱形

[root@localhost opt]# vim lx.sh

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

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

[root@localhost opt]# . lx.sh 
         *
        ***
       *****
      *******
     *********
    ***********
   *************
  ***************
 *****************
  ***************
   *************
    ***********
     *********
      *******
       *****
        ***
         *
          

猜你喜欢

转载自blog.csdn.net/weixin_51486343/article/details/111501808
今日推荐