首页 > 系统服务 > 详细

shell脚本—图形(双循环)

时间:2021-07-19 22:41:17      阅读:36      评论:0      收藏:0      [点我收藏+]

一、直角三角形

1.1 正直角三角形

1.1.1 for循环

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

技术分享图片

1.1.2 while循环

i=1
while [ $i -le 9 ]
do
j=1
  while [ $j -le $i ]
  do
    echo -n "*"
    let j++
  done
  let i++
  echo ""
done

技术分享图片

1.2 倒直角三角形

1.2.1 for循环

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

技术分享图片

1.2.2 while循环

i=1
while [ $i -le 9 ]
do
j=9
  while [ $j -ge $i ]
  do
    echo -n "*"
    let j--
  done
  let i++
  echo ""
done

技术分享图片

1.3 右侧正直角三角形

1.3.1 for循环

for ((i=1;i<=9;i++))
do
  for ((j=9;j>=i;j--))
  do
    echo -n " "
  done
  for ((k=1;k<=i;k++))
  do
    echo -n "*"
  done
  echo ""
done

技术分享图片

1.3.2 while循环

i=1
while [ $i -le 9 ]
do
k=9
  while [ $k -ge $i ]
  do
    echo -n " "
    let k--
  done
j=1
  while [ $j -le $i ]
  do
    echo -n "*"
    let j++
  done
  echo ""
  let i++
done

技术分享图片

1.4 右侧倒直角三角形

1.4.1 for循环

for ((i=1;i<=9;i++))
do
  for ((k=1;k<=i;k++))
  do
    echo -n " "
  done
  for ((j=9;j>=i;j--))
  do
    echo -n "*"
  done
  echo ""
done

技术分享图片

1.4.1 while循环

i=1
while [ $i -le 9 ]
do
j=1
  while [ $j -le $i ]
  do
    echo -n " "
    let j++
  done
k=9
  while [ $k -ge $i ]
  do
    echo -n "*"
    let k--
  done
  echo ""
  let i++
done

技术分享图片

二、等腰三角形

2.1 正等腰三角形

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

技术分享图片
技术分享图片

2.2 倒等腰三角形

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

技术分享图片
技术分享图片

三、菱形

for ((i=1;i<=9;i++))
do
  for ((k=9;k>=i;k--))
  do
    echo -n " "
  done
  a=$[$i*2-1]
  for ((j=1;j<=$a;j++))
  do
    echo -n "*"
  done
  echo ""
done
for ((i=8;i>=1;i--))
do
  for ((k=9;k>=i;k--))
  do
    echo -n " "
  done
  a=$[$i*2-1]
  for ((j=1;j<=$a;j++))
  do
    echo -n "*"
  done
  echo ""
done

技术分享图片
技术分享图片

四、矩形

4.1 全矩形

for ((i=1;i<=10;i++))
do
   for ((j=1;j<=20;j++))
   do
      echo -n "*"
   done
   echo ""
done

技术分享图片
技术分享图片

4.2 镂空矩形

for ((i=1;i<=10;i++))
do
  if [ $i -eq 1 -o $i -eq 10 ];then
      for ((j=1;j<=20;j++))
      do
          echo -n "*" 
      done
      echo ""
  else
     echo -n  "*"
     for ((k=1;k<=18;k++))
     do
         echo -n " " 
      done
      echo  "*"
 fi
done

技术分享图片
技术分享图片

五、平行四边形

5.1 正平行四边形

for ((i=1;i<=9;i++))
do
    for ((j=9;j>=i;j--))
    do
      echo -n " "
    done
    for ((k=1;k<=9;k++))
    do
      echo -n  "*"
    done
    echo ""
done

技术分享图片

5.2 倒平行四边形

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

技术分享图片

六、梯形

6.1 直角梯形

for ((i=1;i<=9;i++))
do
    for ((j=9;j>=i;j--))
    do
      echo -n " "
    done
    for ((k=1;k<=9+$i;k++))
    do
      echo -n  "*"
    done
    echo ""
done

技术分享图片
注:倒直角梯形同理,这边就不再阐述了

6.2 等腰梯形

for ((i=1;i<=9;i++))
do
    for ((j=9;j>=i;j--))
    do
      echo -n " "
    done
    for ((k=1;k<=9+$i;k++))
    do
      echo -n  "*"
    done
    for ((g=1;g<=i;g++))
    do
      echo -n  "*"
    done
    echo ""
done

技术分享图片

shell脚本—图形(双循环)

原文:https://www.cnblogs.com/guxd/p/15031814.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!