将第二个for循环的j=i改成j=1就行
首先你的第一个for循环应该加上”{}”,因为不加是不会执行换行这句代码的;
其次,第二层循环的初始条件j=i和j<=i是有矛盾的啊,这样你只会打印出斜着的一行。
参考:
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
{
printf("%d x %d = %d\t",j,i,i*j);
}
printf("\n");
}
第二个循环j=1就好
第二个for错了,不是for(j=i;j小于等于i;j++)
应该改成for(j=i;i小于等于9;i++)
或者(j=1;j小于等于i;i++)
这两个写法图像有所不同,如果按你写的,例如i=2,那么j等于2,后面条件是j小于等于i,那么只跑一次就出来了。
【以下回答由 GPT 生成】
这段代码中有一个错误,导致无法正确打印出99乘法表。错误在于内层的循环条件 j<=i
应该改为 j<=9
,即第二层循环应该从 1 循环到 9。以下是修改后的代码:
#include <stdio.h>
int main() {
int i=0;
int j=0;
for (i=1; i<=9; i++) {
for (j=1; j<=9; j++) {
printf("%dx%d=%d\t", j, i, i*j);
}
printf("\n");
}
}
修改后的代码中,内层循环的条件修改为 j<=9
,这样就能正确循环打印出九九乘法表了。
【相关推荐】