C语言作业:用迭代法求x=根号a遇到的问题

#include<stdio.h>#include<math.h>main(){doublea,x1,x2,b=1;printf("Pleaseinputa\n");sc... # include <stdio.h>
# include <math.h>
main ()
{
double a,x1,x2,b=1;
printf("Please input a\n");
scanf("%f",&a);
x1=a/2;
for(;b>=1e-5;)
{
x2=(x1+a/x1)/2;
b=fabs(x1-x2);
x1=x2;
}
printf("The answer is %f\n",x1);
return 0;
}
这是我的程序,为什么输入一个数,比如说2以后结果迟迟出不来,是陷入死循环了吗?哪里出问题啦?
展开
 我来答
洁白又淡雅的高山3
2013-12-03 · TA获得超过107个赞
知道答主
回答量:80
采纳率:0%
帮助的人:91.1万
展开全部
采纳我这个吧,程序没什么问题,把所有的scanf("%f")改成scanf("%lf")就可以了,double型数字要用%lf,意为long float.我可是测试了一下午。。输出printf里面一样改一下
superest
2013-12-03 · TA获得超过310个赞
知道小有建树答主
回答量:287
采纳率:0%
帮助的人:219万
展开全部
我算了一下 秒出结果 程序没问题的 实在不行 你换个机器试试

结果是
1.4142135623746899
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式