用二分法求非线性方程的实根

用二分法求非线性方程的实根

用二分法求方程f(x)=x^3-2x-5=0在区间[2,3]内的根


#include <stdio.h>
#include <math.h>
float f(float x);
void main()
{
 float a,b,e,x;
 printf("请分别输入左区间a,右区间b和精确度e\n");
 scanf("%f%f%f",&a,&b,&e);
 for(;;)
 {
  x=(a+b)/2;
  if(f(a)*f(x)<0)
  {
   b=x;
   if(fabs(b-a)<e)break;
   else continue;
  }
  else if(f(b)*f(x)<0)
  {
   a=x;
   if(fabs(b-a)<e)break;
   else continue;
  }
  else if(f(a)==0||f(b)==0)break;
  else 
  {
   printf("选区错误,请退出程序,重新运行\n");
   break;
  }
 }
 if(f(a)==0||f(b)==0)
 {
  if(f(a)==0)x=a;
  else x=b;
 }
 else{
  x=(a+b)/2;
 }
 printf("the result is %f\n",x);
}
float f(float a)
{
 float x=a*a*a-2*a-5;
 return x;
}


©️2020 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值