高手进,C语言作业

来源:百度知道 编辑:UC知道 时间:2024/09/28 07:58:20
我们要打印9×9乘法口诀表,网上看到都是用FOR做。。但是老师要求我们用while或 do while 做,,高手帮帮忙了。。

自己做的。。不知道哪错了。。。
#include<stdio.h>
main()
{
int i=1,j=1;
while (i<10)
{
printf("%d*%d=%-2d",i,j,i*j);
i++;
}
while (j<=i)
{
printf("%d*%d=%-2d",i,j,i*j);
j++;
}
printf("\n");
}
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

最好能解释下。为什么 j放在前面。i放在后面
%d*%d=%-3d",j,i,i*j)

我帮你的改了一下,你看吧!!有什么不懂的再提出来.
#include<stdio.h>
main()
{
int i=1,j=1;
while (i<10)
{
j=1;
while (j<=i)
{
printf("%d*%d=%-3d",j,i,i*j);
j++;
}
printf("\n");
i++;
}
}
这个的话是为了与你的结果相符啊,也不一定要j在前面,i在后面.算法懂了就行啦,至于其它的,自己就能搞定的啦.

#include<stdio.h>
void main()
{
int i=1,j=1;
while (i<10)
{
printf("%d*%d=%-2d\n",i,j,i*j);
i++;
j=i;
while(i<=j && j<9)
{
printf("%d*%d=%-2d\n",i,j,i*j);
j++;
}
}
printf("\n");
}
我不是很会C额..C++我倒会.

你都写错了,在第一个while中没错,只需要在printf后家一个\n的输出就可。但在第二个while中i已经为10了不在改变。你只能使用while的嵌套,一个while不可能同时控制好几个变亮的。i要变,j也要变,只能用双重嵌套。

//9*9口诀么!
//在我程序里i是第一个9(0-9),j是第2个9(0-9),
#include<stdio.h>
void main()
{
int i=1;
while (i<10)
{