99乘法表,请帮我看看哪里出错了

img

img

img


{
int n;
scanf_s("%d", &n);
int b = 1;
int c = 1;
for (c=1; c <= n; c++) {
    b = 1;
    while (b <= c) {
        printf("%d*%d=%d", b, c, b*c);
        if (b*c<= 9) {
            printf("   ");
        }
        else {
            printf("  ");
        }
        if (b = c) {
            printf("\n");
            break;
        }
        else{
            b++;
        }
    }
}
return 0;
}
应该是图三这种形式,请问是哪里出错了?

需要使用双层循环,我这儿有个更简单的,您可以看一看

#include <stdio.h>
#include <stdlib.h>

int main () {
    int i, j;

    for (i = 1; i <= 9; i++) {
        for (j = 1; j <= i; j++)
            printf("%d*%d=%d\t", i, j, i * j);

        printf("\n");
    }

    system ( "pause" );
    return 0;
}

结果:

img