标题:关于WHILE循环
只看楼主
wic
Rank: 2
等 级:论坛游民
帖 子:33
专家分:21
注 册:2010-2-9
结帖率:100%
 问题点数:0 回复次数:4 
关于WHILE循环
计算圆面积,半径依次取值1,2,……,直到面积大于100为止
用while循环做
运行结果不对,请大虾指出错误的地方
程序代码:
#include "stdio.h"
main()
{
    int i;
    float s=0;
    i=1;
    while (s<100)
    {
        s=3.14*i*i;
        printf("%-8.2f",s);
        i++;
    }
}

结果为3.14    12.56   28.26   50.24   78.50   113.04
多出了个113.04
搜索更多相关主题的帖子: WHILE 
2010-02-09 15:31
heartnheart
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:335
专家分:1096
注 册:2009-7-10
得分:0 
循环改成这样
程序代码:
    while ((s=3.14*i*i)<100)
    {
        
        printf("%-8.2f",s);
        i++;
    }
就行了
2010-02-09 16:37
shinobifc
Rank: 2
等 级:论坛游民
帖 子:12
专家分:20
注 册:2008-7-31
得分:0 
原因很明显,半径已经变为6了,但下一次的WHILE判断仍是5时的,小于100,所以又进入了循环体,执行了3.14*6*6。楼上即可解决
2010-02-09 19:27
孤独_浪子
Rank: 2
等 级:论坛游民
帖 子:52
专家分:60
注 册:2010-1-13
得分:0 
怎么楼主提问前没仔细想想吗?
2010-02-09 19:37
wic
Rank: 2
等 级:论坛游民
帖 子:33
专家分:21
注 册:2010-2-9
得分:0 
谢谢大家的解答啊,我明白了
2010-02-09 21:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-297498-1-1.html




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

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