搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 为什么结果会被四舍五入啊???
标题:
为什么结果会被四舍五入啊???
只看楼主
yy12
等 级:
新手上路
帖 子:3
专家分:0
注 册:2013-12-1
结帖率:
0
楼主
已结贴
√
问题点数:10 回复次数:5
为什么结果会被四舍五入啊???
#include<stdio.h>
#include<math.h>
int main()
{
double i,flag,x;
flag=1,x=0,i=1;
while((1/i)>=pow(10,-6))
{
x=x+1/i;
flag=(-1)*flag;
i=(i+2)*flag;
}
printf("%.9f",4*x);
}
搜索更多相关主题的帖子:
include
double
2013-12-02 12:34
so_love
等 级:
蒙面侠
威 望:
7
帖 子:812
专家分:4151
注 册:2013-11-25
第
2
楼
得分:3
坐等大神指导
一花一世界、一叶一追寻、片片花叶落、情系何人身。
2013-12-02 13:47
ytlcainiao
等 级:
论坛游民
帖 子:48
专家分:74
注 册:2013-11-28
第
3
楼
得分:3
当执行完第一次后,已经跳出循环了,因为你的-(1/2)>pow(10.0,6)为假,while循环跳出。
2013-12-02 13:53
so_love
等 级:
蒙面侠
威 望:
7
帖 子:812
专家分:4151
注 册:2013-11-25
第
4
楼
得分:0
那是pow(10,-6) 应该掉不出循环 。
一花一世界、一叶一追寻、片片花叶落、情系何人身。
2013-12-02 13:59
韶志
来 自:斗气大陆
等 级:
贵宾
威 望:
44
帖 子:2223
专家分:13592
注 册:2013-3-22
第
5
楼
得分:3
回复 4楼 so_love
呵呵 为什么跳不出循环? pow(10,-6) 是什么函数知道么?
第一次 循环过后 i 的值就为 负数了 所以小于 10的 -6次方
所以跳出循环 此时 x=1 所以输出 4
三十年河东,三十年河西,莫欺少年穷!
2013-12-02 15:24
怪叔叔
来 自:陕西
等 级:
业余侠客
威 望:
1
帖 子:113
专家分:234
注 册:2013-9-22
第
6
楼
得分:3
#include<stdio.h>
#include<math.h>
main()
{
double i,flag,x;
flag=1,x=0,i=1;
while((1/i)>=pow(10,-6))//第一次1 >= 0.0000001;//第二 -0.333333 <= .000001所以跳出循环,x = 1;
{
x=x+1/i;//第一次x=1;
flag=(-1)*flag;//第一次flag=-1;
i=(i+2)*flag;//第一次i = -3;
}
printf("%.9f",4*x);//故:输出的值是4.000000000
}
2013-12-02 17:38
6
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-424559-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 1.259003 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved