c语言用迭代法求平方根

我的程序错在哪,为什么不能输出结果#include<stdio.h>#include<math.h>intmain(){intb,a,c;scanf("%d",&a);b... 我的程序错在哪,为什么不能输出结果

#include<stdio.h>
#include<math.h>
int main()
{
int b,a,c;
scanf("%d",&a);
b=1,c=0;
for(;abs(b-c)>=1e-5;)
{
c=1/2*(b+a/b);
b=1/2*(c+a/c);
}
printf("%d,%d",c,b);
return 0;
}
展开
 我来答
毒参男
推荐于2017-12-16 · TA获得超过238个赞
知道小有建树答主
回答量:495
采纳率:0%
帮助的人:260万
展开全部
三个错误:
1.不能用int型定义,用double型。
2.没有abs这么个语句,应该是fabs。
3.for循环中应该是 c=1.0/2*(b+a*1.0/b);
b=1.0/2*(c+a*1.0/c);
而不是 c=1/2*(b+a/b);
b=1/2*(c+a/c);
因为a,b,c都是实型了前面当然不能用整型。
然后再试试吧
wanfustudio
2011-10-29 · TA获得超过1万个赞
知道大有可为答主
回答量:5513
采纳率:100%
帮助的人:3771万
展开全部
试试, int型 除法结果是取整的,没有小数,这样改下
#include<stdio.h>
#include<math.h>
int main()
{
int a;
double b,c;
scanf("%d",&a);
b=1,c=0;
for(;fabs(b-c)>=1e-5;)
{
c=1.0/2*(b+a*1.0/b);
b=1.0/2*(c+a*1.0/c);
}
printf("%lf,%lf",c,b);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jui183
2011-10-30
知道答主
回答量:23
采纳率:0%
帮助的人:3.9万
展开全部
试试, int型 除法结果是取整的,没有小数,这样改下
#include<stdio.h>
#include<math.h>
int main()
{
int a;
double b,c;
scanf("%d",&a);
b=1,c=0;
for(;fabs(b-c)>=1e-5;)
{
c=1.0/2*(b+a*1.0/b);
b=1.0/2*(c+a*1.0/c);
}
printf("%lf,%lf",c,b);
return 0;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
白马庆之
2011-10-30
知道答主
回答量:28
采纳率:100%
帮助的人:12.4万
展开全部
int不行,换实型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无病呻吟2010
2011-10-29 · TA获得超过963个赞
知道小有建树答主
回答量:527
采纳率:0%
帮助的人:580万
展开全部
晕,你怎么用整形来算平方根??
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式