c语言浮点数问题

#include<stdio.h>doublefun(doubleq){intn;doubles,t;n=2;s=2.0;while(s<=q){t=s;/*******... #include <stdio.h>
double fun(double q)
{int n; double s,t;
n = 2;
s = 2.0;
while (s<=q)
{
t=s;
/************found************/
s=s+(n+——)/n;
n++;
}
printf("n=%d\n",n);
/************found************/
return t;
}
main ()
{
printf("%f\n", fun(50));
}
第二个程序填空题
s=s+(n+——)/n;
n是要+1.0吧,但是我参考书答案上是(n+1.)
有这种写法吗?
展开
 我来答
你好不得
2011-03-11 · 超过29用户采纳过TA的回答
知道答主
回答量:137
采纳率:0%
帮助的人:88.2万
展开全部
有啊,(n+1)/n的结果是整数等于1,就是每次将s的值加1,而(n+1.0)/n所求的结果就不是整数形式了,而是以浮点的形式表示,所以s每次加上的数就是一个浮点数。所以就要看题目的要求了。
(1)当填1的时候结果n=51
50.000000;
(2)当填1.0的时候结果n=47;
49.394948
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
happylatch
2011-03-11 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:102
采纳率:0%
帮助的人:94.3万
展开全部
为什么要那么写,要常规写法,不要玩花俏。
浮点数没有精确的,比较时利用差的绝对值和0的关系即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-03-11
展开全部
1.0或者1.都是正确的
C语言只要有小数点都是代表浮点数
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yzoloyj
2011-03-11
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
参考书印刷错误 你懂的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式