| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1340 人关注过本帖
标题:改for循环为while结果出错。。。。。
只看楼主 加入收藏
wangweinoo1
Rank: 1
等 级:新手上路
帖 子:67
专家分:0
注 册:2008-9-7
收藏
 问题点数:0 回复次数:10 
改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");
    }
}

——由于新学不久,代码写的难看抱歉。。。。
输出结果啊。。。。汗颜。。。望帮助,谢~
搜索更多相关主题的帖子: 结果 
2008-10-01 12:40
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
收藏
得分:0 
#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++;
    }
}

2008-10-01 12:46
ml232528
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:367
专家分:879
注 册:2007-7-23
收藏
得分:0 
i++ 这句写在printf("\n") 之后

或把i=1改为i=0

-︻┻┳═一 ☆ 悲伤的代价就是让自己明白什么是最重要的和应该珍惜的
2008-10-01 12:47
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
收藏
得分:0 
你忽略了循环一次后的j的值...
把j=1拿里面就行了...

2008-10-01 12:47
wangweinoo1
Rank: 1
等 级:新手上路
帖 子:67
专家分:0
注 册:2008-9-7
收藏
得分:0 
哦,谢谢,一会儿试试
2008-10-01 12:49
wangweinoo1
Rank: 1
等 级:新手上路
帖 子:67
专家分:0
注 册:2008-9-7
收藏
得分:0 
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++;
    }
}

[color=White]

[[it] 本帖最后由 wangweinoo1 于 2008-10-1 17:32 编辑 [/it]]
2008-10-01 12:56
wangweinoo1
Rank: 1
等 级:新手上路
帖 子:67
专家分:0
注 册:2008-9-7
收藏
得分:0 
再次感谢上面两位~~~~
2008-10-01 12:56
wangweinoo1
Rank: 1
等 级:新手上路
帖 子:67
专家分:0
注 册:2008-9-7
收藏
得分:0 
回复 6# wangweinoo1 的帖子
奇怪用devc++也得是while(i<9)。。。想问下为何。。。
2008-10-01 13:05
子洋虾米
Rank: 1
来 自:哈尔滨市第九中学
等 级:新手上路
帖 子:79
专家分:0
注 册:2008-9-15
收藏
得分:0 
和编译器没关系吧
我一直用DEV
2008-10-01 13:06
wangweinoo1
Rank: 1
等 级:新手上路
帖 子:67
专家分:0
注 册:2008-9-7
收藏
得分:0 
回复 9# 子洋虾米 的帖子
有时会不一样。。。
例如:
main()
{   int i1,i2;
    for(i1=0,i2=100;i1<i2;i1++,i2++)
    printf("%3d%3d\n",i1,i2);
}
两种编译器就会不一样(根据教材上说。。。我实践没有成功)。。。
2008-10-01 13:18
快速回复:改for循环为while结果出错。。。。。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023393 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved