Shell编程双重循环练习——学计算机语言你跑不掉的练习

在这里插入图片描述

乘法口诀

  • 双重for循环的写法
for  ((i=1; i<=9; i++))
do
  for  ((k=1; k<=$i; k++))
  do
  c=$[ $i * $k ]
  echo -n -e "$i*$k=$c\t"
  done
echo ""
done

在这里插入图片描述

  • 双重while循环的写法
#!/bin/bash
a=1
while [ $a -le 9 ]
do
b=1
  while [ $b -le $a ]
  do
    c=$[ $a * $a ]
    echo -n -e "$a*$b=$c\t"
    let b++
  done
let a++
echo " "
done

在这里插入图片描述

在这里插入图片描述

  • echo ""输出一个空值让每次循环完换行处理

输出所有可执行文件

  • 输出环境变量PATH所包含的所有目录以及其中的所有可执行文件
  • for循环写法
#!/bin/bash
IFS=':'

for i in $PATH
do
  echo $i
    for k in $i/*
    do
       if [ -x $k ];then
         echo "  $k"
       fi
    done
done

在这里插入图片描述

矩形

  • 双重for循环
#!/bin/bash

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

 echo ""
done

在这里插入图片描述

直角三角形

  • 直角三角形双重for

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

  • 倒直角
#!/bin/bash

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

 echo ""
done

在这里插入图片描述

  • 反的直角三角形
#!/bin/bash

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

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

 echo ""
done

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

  • 等腰三角形
#!/bin/bash

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

  d=$[($a*2)-1]
  for ((c=1; c<=$d; 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<=9;c++))
   do
   echo -n "*"
   done
  for ((d=1;d<=$[$a*2-1];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
 for ((c=1;c<=$[$a*2-1];c++))
 do
 echo -n "*"
 done
echo ""
done

for ((d=1;d<=10;d++))
do
  for ((e=2;e<=$d;e++))
  do
  echo -n " "
  done
 for ((f=10;f>=$d;f--))
 do
 echo -n "*"
 done
   for ((g=9;g>=$d;g--))
   do
   echo -n "*"
   done

 echo ""
done

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

控制大小

#!/bin/bash
read -p "输入大小" i

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

for ((d=1;d<=$i+1;d++))
do
  for ((e=2;e<=$d;e++))
  do
  echo -n " "
  done
 for ((f=$i+1;f>=$d;f--))
 do
 echo -n "*"
 done
   for ((g=$i;g>=$d;g--))
   do
   echo -n "*"
   done

 echo ""
done

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

猜你喜欢

转载自blog.csdn.net/weixin_53496398/article/details/114623966