newdd.cpp

来自「都是计算方法的上机作业」· C++ 代码 · 共 52 行

CPP
52
字号
/*该程序功能:据136页牛顿迭代法求解方程的近似根。*/
#include "stdafx.h"
#include<math.h>
#include<stdio.h>
#include<iostream.h>
double f(double x)
{
	return x*exp(x)-1;
}
double qdf(double x)
{
	return exp(x)+x*exp(x);
}
int main(int argc, char* argv[])
{
	int k,N;
  double x0,x1,e;
cout<<"Please enter 3 number:"<<endl;
cin>>x0>>e>>N;
k=1;
do{
	if(qdf(x0))
	{
		x1=x0-f(x0)/qdf(x0);
		if(fabs(x1-x0)<e)
		{
			printf("x=%.5f,",x1);
			printf("n=%d\n",k);
			return 0;
		}
		else
			if(k==N)
			{
			cout<<"Fail!"<<endl;
			 return 0;
			}
           else 
		   {
			   k++;
			   x0=x1;
		   }
	}
     else
	 {
		 cout<<"Error!"<<endl;
		 return 0;
	 }
}while(1);

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?