wangweinoo1 发布留言 2008-10-1 12:40
改for循环为while结果出错。。。。。
原for代码
以下内容为程序代码: #include "stdio.h" main() { int i,j,m; printf("%4c",'*'); for(i=1;i<=9;i++) printf("%4d",i); printf("\n"); for(i=1;i<=9;i++) { printf("%4d",i); for(j=1;j<=i;j++) { m=i*j; printf("%4d",m); } printf("\n"); } } |
可以正常显示
想修改下为while
以下内容为程序代码: #include "stdio.h" main() { int i,j,m; printf("%4c",'*'); i=1; while(i<=9) { i++; printf("%4d",i); } printf("\n"); i=1; j=1; while(i<=9) { i++; printf("%4d",i); while(j<=i) { j++; m=i*j; printf("%4d",m); } printf("\n"); } }
|
——由于新学不久,代码写的难看抱歉。。。。
输出结果啊。。。。汗颜。。。望帮助,谢~
blueboy82006 发布留言 2008-10-1 12:46
#include "stdio.h"
main()
{ int i,j,m;
printf("%4c",'*');
i=1;
while(i<=9)
{ i++;
printf("%4d",i);
}
printf("\n");
i=1;
while(i<=9)
{
printf("%4d",i);
j=1;
while(j<=i)
{
m=i*j;
printf("%4d",m);
j++;
}
printf("\n");
i++;
}
}
ml232528 发布留言 2008-10-1 12:47
i++ 这句写在printf("\n") 之后
或把i=1改为i=0
blueboy82006 发布留言 2008-10-1 12:47
你忽略了循环一次后的j的值...
把j=1拿里面就行了...[em01]
wangweinoo1 发布留言 2008-10-1 12:49
哦,谢谢,一会儿试试
wangweinoo1 发布留言 2008-10-1 12:56
2楼的也许也有点问题地说。。。
也许是因为TC跳出循环前有多循环一次吧
这是我稍稍加改写的版本:
#include "stdio.h"
main()
{ int i,j,m;
printf("%4c",'*');
i=0; while(i<9) { i++;
printf("%4d",i);
}
printf("\n");
i=1;
while(i<=9)
{
printf("%4d",i);
j=1;
while(j<=i)
{
m=i*j;
printf("%4d",m);
j++;
}
printf("\n");
i++;
}
}
[ 本帖最后由 wangweinoo1 于 2008-10-1 17:32 编辑 [/it]]
wangweinoo1 发布留言 2008-10-1 12:56
再次感谢上面两位~~~~[em01]
wangweinoo1 发布留言 2008-10-1 13:05
回复 6# wangweinoo1 的帖子
奇怪用devc++也得是while(i<9)。。。想问下为何。。。
子洋虾米 发布留言 2008-10-1 13:06
和编译器没关系吧
我一直用DEV
wangweinoo1 发布留言 2008-10-1 13:18
回复 9# 子洋虾米 的帖子
有时会不一样。。。
例如:
main()
{ int i1,i2;
for(i1=0,i2=100;i1
printf("%3d%3d\n",i1,i2);
}
两种编译器就会不一样(根据教材上说。。。我实践没有成功)。。。
页: [1]