shell脚本中的矩阵及图形拓展

这篇博客探讨了如何使用shell脚本生成各种几何图形,包括99乘法表、矩形、直线、直角三角形、倒角三角形、等腰直角三角形、等腰梯形和菱形,其中详细介绍了空格辅助的图形构造技巧以及可调节大小的菱形实现方法。

一、99乘法表

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

在这里插入图片描述

二、矩形

#!/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=1;a<=15;a++))
do
   echo -n " "
done
  echo " "

在这里插入图片描述

四、正直角三角形

#!/bin/bash
for ((a=1;a<=9;a++))
do
   for((b=1;b<=$a;b++))
   do
   echo -n "*"
   done
echo " "
done

在这里插入图片描述

五、反直角三角形

1.空格矩形加三角

#!/bin/bash
for ((a=1;a<=9;a++))
do
   for ((b=1;b<=10;b++))
   do
   echo -n " "
   done
   for((c=1;c<=$a;c++))
   do
   echo -n "*"
   done
  echo " " 
done

在这里插入图片描述

2.空格倒三角加三角

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

在这里插入图片描述

六、倒直角三角形

#!/bin/bash
for ((a=1;a<=9;a++))
do
    for((b=9;b>=$a;b--))
    do
    echo -n "*"
    done
    echo " "
done

在这里插入图片描述

七、等腰直角三角形

1.算法计算$a*2-1

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

在这里插入图片描述

八、等腰梯形

#!/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=1;e<=$d-1;e++))
   do
   echo -n " "
   done
  for ((f=2*$i+1;f>=$[$d*2-1];f--))
  do
  echo -n "*"
  done
 echo ""
done

在这里插入图片描述

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值