打印9*9乘法表

打印9*9乘法表

1 * 1 = 1

1 * 2 = 2  2 * 2 = 4

1 * 3 = 3  2 * 3 = 6  3 * 3 = 9

......

第一列是i,i是每一行都从1开始,然后递增

第二列是j,j是每一行都不变,换行之后递增

也就是说,当i走完一圈的时候,j才变化;当i走完一圈换行之后,重新从1开始计数

默认i<j,当i=j时换行

public class Jiujiu
{
    public static void main(String[] args)
    {
        for (int i = 1; i <= 9; i++)//声明变量,第一列是i,i是每一行都从1开始,然后递增
        {
            for (int j = 1; j <= i; j++)//声明变量,第二列是j,j是每一行都不变,默认i<j,当i=j时换行,换行之后递增
            {
                System.out.print(j + "*" + i + "=" + i * j + "\t");//打印输出
            }
            System.out.println();//换行
        }
    }
}

 

在Shell脚本中,可以使用嵌套循环来打印9*9乘法表。以下是几种不同风格的实现方法。 ### 直角三角形样式(左上角) ```bash #!/bin/bash for ((i = 1; i <= 9; i++)); do for ((j = 1; j <= i; j++)); do printf "%d*%d=%d\t" $j $i $(($i * $j)) done echo done ``` 在这个脚本中,外层循环控制行数`i`从1到9,内层循环控制每行的列数`j`,`j`的范围是从1到当前的行数`i`。每次内层循环会打印出一个乘法表达式,使用`printf`函数进行格式化输出,每个表达式之间用制表符`\t`分隔。当内层循环结束后,使用`echo`换行。 ### 直角三角形样式(右上角) ```bash #!/bin/bash for ((i = 1; i <= 9; i++)); do for ((k = 1; k < i; k++)); do printf "\t" done for ((j = i; j <= 9; j++)); do printf "%d*%d=%d\t" $i $j $(($i * $j)) done echo done ``` 这个脚本同样使用了两层嵌套循环。外层循环控制行数`i`从1到9。第一个内层循环`k`用于打印每行前面的空白,空白的数量是当前行数`i`减1。第二个内层循环`j`从当前行数`i`开始到9打印乘法表达式。 ### 完整矩形样式 ```bash #!/bin/bash for ((i = 1; i <= 9; i++)); do for ((j = 1; j <= 9; j++)); do printf "%d*%d=%d\t" $i $j $(($i * $j)) done echo done ``` 这里外层循环控制行数`i`从1到9,内层循环控制列数`j`也从1到9,每次内层循环都会打印出一个乘法表达式,当内层循环结束后换行。 ### 倒直角三角形样式(左下角) ```bash #!/bin/bash for ((i = 9; i >= 1; i--)); do for ((j = 1; j <= i; j++)); do printf "%d*%d=%d\t" $j $i $(($i * $j)) done echo done ``` 外层循环控制行数`i`从9递减到1,内层循环控制列数`j`从1到当前行数`i`,打印乘法表达式。 ### 倒直角三角形样式(右下角) ```bash #!/bin/bash for ((i = 9; i >= 1; i--)); do for ((k = 9; k > i; k--)); do printf "\t" done for ((j = i; j >= 1; j--)); do printf "%d*%d=%d\t" $j $i $(($i * $j)) done echo done ``` 外层循环控制行数`i`从9递减到1,第一个内层循环`k`用于打印每行前面的空白,空白数量根据当前行数`i`确定。第二个内层循环`j`从当前行数`i`递减到1,打印乘法表达式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值