打印九九乘法表,倒过来

img

img

img


for (int i = 9; i > 0; i--){
    for (int j = 9; j >= i; j--){
        printf_s("%d * %d = %2d  ", i, j, i*j);
    }
    printf_s("\n");
}

#include <stdio.h>

int main (void)
{
int i = 0, j = 0;
int muti = 0;

for (i=9; i>=1; i--) {
    for (j=9; j>=i; j--) {
        printf("%d*%d=%-3d", j, i, j*i);
    }
    printf("\n");
}

return 0;

}

result:
99=81
9
8=72 88=64
9
7=63 87=56 77=49
96=54 86=48 76=42 66=36
95=45 85=40 75=35 65=30 55=25
9
4=36 84=32 74=28 64=24 54=20 44=16
9
3=27 83=24 73=21 63=18 53=15 43=12 33=9
92=18 82=16 72=14 62=12 52=10 42=8 32=6 22=4
91=9 81=8 71=7 61=6 51=5 41=4 31=3 21=2 1*1=1

int i,j;
for(i=1;i<10;i++)
{
for(j=1;j<i;j++)
printf(" ");
for(j=i;j<10;j++)
printf("%d*%d=%2d ",i,j,i*j);
printf("\n");
}

只要把i和j都改成从9循环到1,j循环里面加上判断i<j就打印空格或者制表符占位置,否则打印乘法表
我用java写的,应该差不多

public class Test {
    
    public static void main(String[] args) {
        for(int i = 9 ;i>=1 ;i--){
            for(int j = 9; j>=1;j--){
                if(i<j){
                    System.out.print("\t");
                }else {
                    //System.out.print(i + "*" + j +"="+ (i*j)+"\t");
                    System.out.printf("%d*%d=%d\t",i,j,i*j);
                }
            }
        System.out.println();
        }
    }

}

img

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^