C语言 x^3+ax^2+bx+c=0求解

 我来答
务知北世敏
2019-05-21 · TA获得超过3582个赞
知道大有可为答主
回答量:3157
采纳率:28%
帮助的人:285万
展开全部
用弦截法求方程x^3+ax^2+bx+c=0的根:(其中要求用户输入的x1和x2是用户估计的根的区间)
#include
<stdio.h>
#include
<math.h>
float
a,b,c;
/*求f(x)=x^3+ax^2+bx+c=0的函数值。*/
float
f(float
x)
{
float
y;
y=x*x*x+a*x*x+b*x+c;
return(y);
}
/*求(x1,f(x1))和(x2,f(x2))的连线与x轴的交点横坐标:x=[x1×f(x2)-x2×f(x1)]
/
[f(x2)-f(x1)]*/
float
xpoint(float
x1,float
x2)
{
float
x;
x=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));
return(x);
}
/*求(x1,x2)区间内方程的实根*/
float
root(float
x1,float
x2)
{
float
x;
do
{
x=xpoint(x1,x2);
if(f(x)*f(x1)>0)
x1=x;
else
x2=x;
}
while(fabs(f(x))>=1e-4);
return(x);
}
main()
{
float
x1,x2,x;
printf("Please
input
a:
");
scanf("%f",&a);
printf("Please
input
b:
");
scanf("%f",&b);
printf("Please
input
c:
");
scanf("%f",&c);
do
{
printf("Please
input
x1
and
x2:
");
scanf("%f%f",&x1,&x2);
}while(f(x1)*f(x2)>=0);
x=root(x1,x2);
printf("A
root
of
equation
is
%.4f\n",x);
}
例如,a,b,c分别输入-5
16
-80,x1和x2分别输入1
10,结果为5
东莞大凡
2024-08-07 广告
标定板认准大凡光学科技,专业生产研发厂家,专业从事光学影像测量仪,光学投影测量仪.光学三维测量仪,光学二维测量仪,光学二维测量仪,光学三维测量仪,光学二维测量仪.的研发生产销售。东莞市大凡光学科技有限公司创立于 2018 年,公司总部坐落于... 点击进入详情页
本回答由东莞大凡提供
抗双路才捷
2020-04-08 · TA获得超过4049个赞
知道大有可为答主
回答量:3209
采纳率:28%
帮助的人:239万
展开全部
由条件有:A+B+C=1
16A-4B=45
Y'=3X^2+2AX+B
无极值

导数的判别式
4A^2-12B<0

4(A-6)^2<9

3/2<A<15/2
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式