シェルプログラミングのダブルループ演習-コンピューター言語の学習で逃げられない演習

ここに画像の説明を挿入

乗算式

  • doubleforループの表現
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 ""null値を出力して、各ループの後に改行を処理できるようにします

すべての実行可能ファイルをエクスポートします

  • 環境変数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

ここに画像の説明を挿入

直角三角形

  • 直角三角形ダブル

ここに画像の説明を挿入
ここに画像の説明を挿入

  • 直角
#!/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