shell 打印九九乘法表(让输出内容能够完全对齐)

12 篇文章 0 订阅


嵌套循环实现9 9乘法表
格式对齐,以及使用单层循环完成9
9乘法表
编写shell脚本:

使用for循环嵌套实现

[root@qingyuxin homework]# vim day2_99.sh

#!/bin/bash
for i in {1..9}
do
    for ((j=1;j<=$i && j<=9;j++))
    do
       let sum=$i*$j
        echo -n "$i*$j=$sum  "
    done
    echo " "
done

请添加图片描述
执行脚本
请添加图片描述
实现格式对齐
方法一:
出现无法完全对齐的问题时,可以发现主要是3 * 3=9;与4*3=12;的前面没有对齐,这时我们写一个判断语句,多输出空格,我们就会发现乘法表已经完全对齐了。

if [[  ($sum -eq 12 || $sum -eq 9) && $j -eq 3 ]]
       then
        echo -n " $i*$j=$sum  "
       else
        echo -n "$i*$j=$sum  "
       fi

请添加图片描述
请添加图片描述
方法二:
用输出占位实现格式对齐,即每一位的结果都保留两位结果的输出

[root@qingyuxin homework1]# vim day2_99.sh 

#!/bin/bash
#########################
#File name:day2_99.sh
#Version:v1.0
#Email:admin@test.com
#Created time:2023-02-01 15:18:38
#Description:
#########################
for i in {1..9}
do
    for ((j=1;j<=$i && j<=9;j++))
    do
       printf "$i*$j=%2d " $(($i*$j))
    done
    echo " "
done

请添加图片描述

while单层循环实现

[root@qingyuxin homework]# vim day2_while99.sh

#!/bin/bash
#########################
#File name:day2_while99.sh
#Version:v1.0
#Email:admin@test.com
#Created time:2023-02-05 14:27:01
#Description:
#########################
i=1
j=1
while ((i<10))
do
    if ((j<=i))
    then
        printf "$i*$j=%2d " $((i*j))
        let j++
    else
        let i++
        echo ""
        j=1
    fi
done
~         

请添加图片描述
执行脚本
请添加图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用以下代码在 shell打印九九乘法表: ``` for i in {1..9}; do for j in $(seq $i); do echo -n "$i*$j=$[i*j] " done echo done ``` ### 回答2: 九九乘法表是一种常见的数学表格,用于展示从1到9的乘法结果。在shell编程中,我们可以使用循环和条件语句来打印九九乘法表。 以下是一个示例代码: ```shell #!/bin/bash # 使用两个嵌套的循环来遍历九九乘法表的每一行和列 for ((i=1;i<=9;i++)) do for ((j=1;j<=i;j++)) do # 通过计算乘积来打印每一个乘法表的元素 product=$((i*j)) echo -n "$j * $i = $product\t" done echo "" # 打印换行符,进入下一行 done ``` 运行以上代码,即可在shell终端中打印出完整的九九乘法表: ```shell 1 * 1 = 1 1 * 2 = 2 2 * 2 = 4 1 * 3 = 3 2 * 3 = 6 3 * 3 = 9 1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16 1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25 1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36 1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49 1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64 1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81 ``` 这就是用shell打印九九乘法表的方法。将内层循环的"echo -n"改为"echo"也可换行打印每一行的乘法表元素。 ### 回答3: 要用shell打印九九乘法表,可以使用循环和变量来实现。下面是一个简单的示例代码: ```shell #!/bin/bash for ((i=1; i<=9; i++)) do for ((j=1; j<=i; j++)) do result=$(($i * $j)) echo -n "$j*$i=$result " done echo "" done ``` 这段代码首先使用两个嵌套的循环,外部循环控制乘数,内部循环控制被乘数。通过变量`i`和`j`来表示乘数和被乘数。在每次循环内,利用`$((...))`来计算两者的乘积并将结果存储在变量`result`中。然后使用`echo`命令打印出乘法表达式,并用空格隔开不同的乘法项。内部循环完成后,使用`echo ""`打印一个空行,表示换行到下一行。外部循环完成后,整个九九乘法表就会被打印出来。 要执行以上代码,将其保存到一个脚本文件(例如`multiplication_table.sh`),然后运行`chmod +x multiplication_table.sh`给脚本文件添加执行权限。最后执行`./multiplication_table.sh`即可打印九九乘法表

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值