Use shell scripts to make nine-nine-nine multiplication tables and various graphs (find the pattern and have fun!)

Use shell scripts to make nine-nine-nine multiplication tables and various graphs

One, ninety-nine multiplication table

You can use the sh -x script name to enter the debugging mode to view its calculation method and layout details

[root@localhost ~]#vim 99cfb.sh
[root@localhost ~]#cat 99cfb.sh 
#!/bin/bash

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
[root@localhost ~]#chmod +x 99cfb.sh 
[root@localhost ~]#./99cfb.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	

Two, straight line

[root@localhost ~]#vim zhixian.sh
[root@localhost ~]#cat zhixian.sh 
#!/bin/bash
for ((a=1;a<=10;a++))
do
  echo -n "*"
done
  echo ""
[root@localhost ~]#chmod +x zhixian.sh 
[root@localhost ~]#./zhixian.sh 
**********

Three, rectangle

[root@localhost ~]#cat juxing.sh 
#!/bin/bash

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

 echo ""
done

[root@localhost ~]#chmod +x juxing.sh 
[root@localhost ~]#./juxing.sh 
**********
**********
**********

Four, three kinds of right-angled triangles

1. Right triangle on the left

[root@localhost ~]#vim kzzjsjx.sh
[root@localhost ~]#cat kzzjsjx.sh 
#!/bin/bash
for ((a=1;a<=8;a++))  #输出行数,8行
do
  for ((b=1;b<=a;b++)) #输出直线的*,每行随a值增加而增加
   do
   echo -n "*"
   done
  echo ""
done
[root@localhost ~]#chmod +x kzzjsjx.sh 
[root@localhost ~]#./kzzjsjx.sh 
*
**
***
****
*****
******
*******
********

2. Right-angled triangle

[root@localhost ~]#cat kyzjsjx.sh 
#!/bin/bash

for ((a=1;a<=8;a++))    
do
   for ((i=8;i>=a;i--))   
      do
      echo -n " "
      done
   for ((b=1;b<=a;b++))
      do
      echo -n "*"
      done
 echo ""
done
[root@localhost ~]#./kyzjsjx.sh 
        *
       **
      ***
     ****
    *****
   ******
  *******
 ********

3. Invert a right triangle to the left

[root@localhost ~]#vim kzdzjsjx.sh
[root@localhost ~]#cat kzdzjsjx.sh 
#!/bin/bash
for ((a=1;a<=8;a++))
do
  for ((b=8;b>=$a;b--))
  do
  echo -n "*"
  done
 echo ""
done
[root@localhost ~]#chmod +x kzdzjsjx.sh 
[root@localhost ~]#./kzdzjsjx.sh 
********
*******
******
*****
****
***
**
*

Five, isosceles triangle

1. Output an odd number of asterisks through the output empty inverted triangle sum algorithm ($a*2-1)

[root@localhost ~]#vim dysjx.sh 
[root@localhost ~]#cat dysjx.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 ((h=1; h<=$i; h++))
 do
  echo -n "*"
 done
  echo ""
done
[root@localhost ~]#chmod +x dysjx.sh 
[root@localhost ~]#./dysjx.sh 
         *
        ***
       *****
      *******
     *********
    ***********
   *************
  ***************
 *****************

2. Splicing method

The space inverted triangle fits the right triangle and then the left triangle

[root@localhost ~]#vim pjdysjx.sh
[root@localhost ~]#cat pjdysjx.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 ~]#chmod +x pjdysjx.sh 
[root@localhost ~]#./pjdysjx.sh 
         *
        ***
       *****
      *******
     *********
    ***********
   *************
  ***************
 *****************

3. Inverted isosceles triangle

[root@localhost ~]#vim ddysjx.sh
[root@localhost ~]#cat ddysjx.sh 
#!/bin/bash
for ((a=1;a<=6;a++))
do
 for ((b=1;b<=a;b++))
  do
  echo -n " "
  done
  i=$[$a*2-1]
 for ((c=11;c>=$i;c--))
 do
 echo -n "*"
 done
echo " "
done
[root@localhost ~]#chmod +x ddysjx.sh 
[root@localhost ~]#./ddysjx.sh 
 *********** 
  ********* 
   ******* 
    ***** 
     *** 
      * 

Six, parallelogram

[root@localhost ~]#vim pxsb.sh
[root@localhost ~]#cat pxsb.sh
#!/bin/bash
for ((a=1; a<=6; a++))
do 
  #输出空倒三角
  for ((b=6; b>=$a; b--))
  do
  echo -n " "
  done
  #输出直线
  for ((c=1; c<=12; c++))
  do
  echo -n "*"
  done
  echo ""
done
[root@localhost ~]#chmod +x pxsb.sh
[root@localhost ~]#./pxsb.sh
      ************
     ************
    ************
   ************
  ************
 ************

Seven, trapezoid

1. Anti-right-angle trapezoid

[root@localhost ~]#cat tx.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+5];c++))
   do
   echo -n "*"
   done
  echo
done

[root@localhost ~]#chmod +x tx.sh 
[root@localhost ~]#./tx.sh 
         ******
        *******
       ********
      *********
     **********
    ***********
   ************
  *************
 **************

2. Right angle trapezoid

[root@localhost ~]#vim zjtx.sh
[root@localhost ~]#cat zjtx.sh 
#!/bin/bash
for ((a=1;a<=10;a++))
 do
   for ((c=1;c<=$[$a+5];c++))
   do
   echo -n "*"
   done
  echo
done
[root@localhost ~]#chmod +x zjtx.sh 
[root@localhost ~]#./zjtx.sh 
******
*******
********
*********
**********
***********
************
*************
**************
***************

3.Isosceles trapezoid

[root@localhost ~]#vim dytx.sh
[root@localhost ~]#cat dytx.sh 
#!/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

[root@localhost ~]#chmod +x dytx.sh 
[root@localhost ~]#./dytx.sh 
      *********
     ***********
    *************
   ***************
  *****************
 *******************

Eight, rhombus

[root@localhost ~]#vim lx.sh
[root@localhost ~]#cat lx.sh 
#!/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
[root@localhost ~]#chmod +x lx.sh 
[root@localhost ~]#./lx.sh 
          *
         ***
        *****
       *******
      *********
     ***********
    *************
   ***************
  *****************
 *******************
  *****************
   ***************
    *************
     ***********
      *********
       *******
        *****
         ***
          *

Use sh -v script name to view output details

[root@localhost ~]#sh -v lx.sh
#!/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
  *****************
   ***************
    *************
     ***********
      *********
       *******
        *****
         ***
          *

Guess you like

Origin blog.csdn.net/qq_35456705/article/details/111873686