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
98=72 88=64
97=63 87=56 77=49
96=54 86=48 76=42 66=36
95=45 85=40 75=35 65=30 55=25
94=36 84=32 74=28 64=24 54=20 44=16
93=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();
}
}
}