
C语言牛顿方法计算平方根
编写程序,用牛顿方法计算正数的平方根。设x是输入的数。牛顿方法需要先给出x平方根的猜测值y(例如y取1)。后续的猜测值通过计算y和x/y的平均值得到。例如:求解3的平方根...
编写程序,用牛顿方法计算正数的平方根。
设x是输入的数。牛顿方法需要先给出x平方根的猜测值y(例如y取1)。后续的猜测值通过计算y和x/y的平均值得到。
例如:求解3的平方根的过程
x y x/y y和x/y的平均值
3 1 3 2
3 2 1.5 1.75
3 1.75 1.71429
1.73214
3 1.73214
1.73196
1.73205
3 1.73205
1.73205
1.73205
注意,y的值逐渐接近x的平方根。当y的新旧值之差的绝对值小于0.000001和y的乘积时程序终止。
Input Description
输入一个正数。
Output Description
输出所求的平方根,保留6位小数。
Sample Input
3
Sample Output
1.732051 展开
设x是输入的数。牛顿方法需要先给出x平方根的猜测值y(例如y取1)。后续的猜测值通过计算y和x/y的平均值得到。
例如:求解3的平方根的过程
x y x/y y和x/y的平均值
3 1 3 2
3 2 1.5 1.75
3 1.75 1.71429
1.73214
3 1.73214
1.73196
1.73205
3 1.73205
1.73205
1.73205
注意,y的值逐渐接近x的平方根。当y的新旧值之差的绝对值小于0.000001和y的乘积时程序终止。
Input Description
输入一个正数。
Output Description
输出所求的平方根,保留6位小数。
Sample Input
3
Sample Output
1.732051 展开
3个回答
展开全部
#include<math.h>
main()
{
float x,y,t;
scanf("%f",&x);
y=x/3;
while(1)
{
t=(y+x/y)/2;
if(fabs(t-y)<0.000001) break;
y=t;
}
printf("the square root of %g is %g",x,t);
}
main()
{
float x,y,t;
scanf("%f",&x);
y=x/3;
while(1)
{
t=(y+x/y)/2;
if(fabs(t-y)<0.000001) break;
y=t;
}
printf("the square root of %g is %g",x,t);
}
追答
第一行后面的头文件是
已赞过
已踩过<
评论
收起
你对这个回答的评价是?

2024-11-14 广告
标定板认准大凡光学科技,专业生产研发厂家,专业从事光学影像测量仪,光学投影测量仪.光学三维测量仪,光学二维测量仪,光学二维测量仪,光学三维测量仪,光学二维测量仪.的研发生产销售。东莞市大凡光学科技有限公司创立于 2018 年,公司总部坐落于...
点击进入详情页
本回答由东莞大凡提供
展开全部
牛顿迭代法,二分迭代法等~~这里给你一个最简单的迭代 求x=根号a(没法打出数学符号)求平方根的公式为x〈n+1〉(用〈〉括起的是下标)=1/2(x〈n〉+a/x〈n〉)精度要求为10的负5次方 c代码为 include<mat...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
迭代法是一个大类
有牛顿迭代法,二分迭代法等~~
这里给你一个最简单的迭代
求x=根号a(没法打出数学符号)
求平方根的公式为x〈n+1〉(用〈〉括起的是下标)=1/2(x〈n〉+a/x〈n〉)
精度要求为10的负5次方
c代码为
#include<math.h>
main()
{
float a,x0,x1;
scanf("%f",&a);
x0=a/2;
x1=(x0+a/x0)/2;
do
{x0=x1; <br/> x1=(x0+a/x0)/2; <br/> }while(fabs(x0-x1)>=le-5);
printf("The squme foot of %5.2f is %8.5f\n",a,x1);
}
建议把潭浩强的c的习题好好作做
有牛顿迭代法,二分迭代法等~~
这里给你一个最简单的迭代
求x=根号a(没法打出数学符号)
求平方根的公式为x〈n+1〉(用〈〉括起的是下标)=1/2(x〈n〉+a/x〈n〉)
精度要求为10的负5次方
c代码为
#include<math.h>
main()
{
float a,x0,x1;
scanf("%f",&a);
x0=a/2;
x1=(x0+a/x0)/2;
do
{x0=x1; <br/> x1=(x0+a/x0)/2; <br/> }while(fabs(x0-x1)>=le-5);
printf("The squme foot of %5.2f is %8.5f\n",a,x1);
}
建议把潭浩强的c的习题好好作做
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |