c-设计语言(第五版)第五章习题答案(15)

本文展示了一段使用C语言实现的一维搜索算法代码。该算法通过不断缩小搜索区间来寻找方程2*x^3-4*x^2+3*x-6=0的一个根。程序采用迭代方式逐步逼近目标值,直到满足精度要求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//15.
#include<stdio.h>
#include<math.h>
int main(void)
{
 float x2 = 10, x1 = -10, x;
 float f1, f2, f3;
 for (;;)
 {
  x = (x1 + x2) / 2;
  f1 = 2 * x1*x1*x1 - 4 * x1*x1 + 3 * x1 - 6;
  f2 = 2 * x2*x2*x2 - 4 * x2 *x2 + 3 * x2 - 6;
  f3 = 2 * x*x*x - 4 * x*x + 3 * x - 6;
  if ((f1*f3) <= 0)
  {
   x2 = x;
   x = (x1 + x) / 2;
  }
  if ((f2*f3) <= 0)
  {
   x1 = x;
   x = (x2 + x) / 2;
  }
  if (fabs(x2 - x1) < pow(10, -5)) break;
 }
 printf("X=%.4f", x);
 return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值