C语言用迭代法求平方根
读入被开方数a,用迭代法求出a的平方根。求平方根的迭代公式为:X0=10Xn=(Xn-1+a/Xn-1)/2(n>0)要求前后两次求出的X值的差的绝对值小于0.00001...
读入被开方数a,用迭代法求出a的平方根。求平方根的迭代公式为:
X0=10
Xn=(Xn-1+a/Xn-1)/2 (n>0)
要求前后两次求出的X值的差的绝对值小于0.00001。 展开
X0=10
Xn=(Xn-1+a/Xn-1)/2 (n>0)
要求前后两次求出的X值的差的绝对值小于0.00001。 展开
3个回答
展开全部
迭代公式都有了,直接套就好了阿..
int main()
{
double a=34;
double last = 0.0, curr = 10.0;
while(curr-last>0.00001 || last-curr>0.00001 ){
last = curr;
curr =(last+a/last)/2;
}
printf("%e\n", curr);
return 0;
}
int main()
{
double a=34;
double last = 0.0, curr = 10.0;
while(curr-last>0.00001 || last-curr>0.00001 ){
last = curr;
curr =(last+a/last)/2;
}
printf("%e\n", curr);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int flag = 0;
cout<<"please enter a number:";
double a = 0.0;
cin>>a;
const double EPSTLON = 1E-14;
double xnew = a;
double xold = 0.0;
do{
xold = xnew;
xnew = (xold + a/xold)/2;
}while(fabs(xnew - xold) > EPSTLON);
cout<<"the square root is:"<<xnew<<endl;
cin>>flag;
return 0;
}
#include <cmath>
using namespace std;
int main()
{
int flag = 0;
cout<<"please enter a number:";
double a = 0.0;
cin>>a;
const double EPSTLON = 1E-14;
double xnew = a;
double xold = 0.0;
do{
xold = xnew;
xnew = (xold + a/xold)/2;
}while(fabs(xnew - xold) > EPSTLON);
cout<<"the square root is:"<<xnew<<endl;
cin>>flag;
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
呵呵,我也是做到这题不会啊!大家共同努力!!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询