C语言写乘法口诀 请问这是怎么回事呀

img


为啥都是数字呀 有没有懂行帮忙指出问题呀 本人接触一周。麻烦告诉修改方法

因为打印一行算式的换行,以及打印空格的if-else没有放到相应的for循环里面,然后打印算式的语句有错误,所以导致打印没有达到预期的效果;

把打印换行的语句以及打印空格语句放到相应位置,再把打印算式的语句改一下即可,修改如下:

#include  <stdio.h>

int main(void){
    
    int i,j,k;
    for(i=1;i<10;i++){
        for(j=1;j<10;j++){
            k=i*j;
            printf("%d*%d=%d",i,j,k);
            
            if(i*j<10){
                printf("  ");
            }else{
                printf(" ");
            }
        }
        
    
        printf("\n");    

    }  
    
    return 0;
        
} 

img

那个if写进循环里,还有不应该输出ijk吗

记得换行,还有printf(”%d*%d=%d“,i,j,k)这里缺少了i,j,k。这里缺少后打印随机值,所以出现了这样的结果


#include <stdio.h>
#define N 9
int main()
{
    int i = 0, j = 0;
    for (i = 1; i <= N; i++)//打印9行
    {
        for (j = 1; j <= i; j++)//每行打印i个
        {
            printf("%d*%d=%-4d", i, j, i * j);
        }
        printf("\n");//换行
    }
    return 0;
}

printf的用法不对,还有参数要写

#include<stdio.h>

int main()
{
    for (int i = 1; i <= 9; ++i)
    {
        for (int j = 1; j <= i; ++j)
        {
            printf("%d*%d=%-3d", j, i, i*j);//printf后面还有接收参数的
        }
        printf("\n");//这里打印完进行一格换行
    }
    return 0;
}

img