C语言 求ax^2+bx+c=0的根 x1 x2

 我来答
公春岚欧霈
2020-04-16 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:30%
帮助的人:760万
展开全部
记f(x)=a/2x^2+bx+c,且由题知,ax1^2+bx1+c=0,-ax2^2+bx2+c=0.

所以f(x1)f(x2)=(a/2x1^2+bx1+c)(a/2x2^2+bx2+c)

=(a/2x1^2-ax1^2)(a/2x2^2+ax2^2).................(代入已知条件)

=-3a^2×(x1^2)×(x2^2)÷4<0

故f(x1),f(x2)一正一负,所以f(x)=0必有一根在x1,x2之间
东莞大凡
2024-08-07 广告
OpenCV标定板是东莞市大凡光学科技有限公司在相机标定中常用的工具。它通常由黑白格点按一定规则排列在平面上组成,如棋盘格或圆形格等。在相机标定时,将标定板置于不同位置和姿态下拍摄图像,利用OpenCV库中的函数检测标定板上的角点或圆心,进... 点击进入详情页
本回答由东莞大凡提供
茗妞怡耀雨0Q
2020-04-16 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.2万
采纳率:33%
帮助的人:1023万
展开全部
#include

#include

#include

void
func(double
a,double
b,double
c);
int
main()
{
double
a,b,c;
printf("please
input
a,b,c...\n");
scanf("%lf%lf%lf",&a,&b,&c);//输入时候,中间用空格分开...
//printf("%.2lf\t\t%.2lf\t\t%.2lf\n",a,b,c);
func(a,b,c);
return
0;
}
void
func(double
a,double
b,double
c)
{
double
t=b*b-4*a*c;
double
x1,x2;
if(a==0&&b!=0)
{
x1=x2=-c/b;
printf("\nx1=x2=%.2lf\n",x1);//小数点后两位,可以自行设定
}
else
if(a==0&&b==0)
{
printf("x
无根.\n");
}
else
{
if
(t>0)
{
x1=(-b+sqrt(t))/(2*a);
x2=(-b-sqrt(t))/(2*a);
printf("\nx1=%.2lf\tx2=%.2lf\n",x1,x2);
}
else
if(t==0)
{
x1=x2=(-b+sqrt(t))/(2*a);
printf("x1=x2=%.2lf\n",x1);
}
else
printf("无根...\n");
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3b2e8fd7e9
2020-04-10 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.1万
采纳率:32%
帮助的人:596万
展开全部
按你的意思我改写了你的代码,也运行出来啊,希望对你有用,先把代码附带在下面:
#include

#include

#include

double
t,x1,x2;
void
main()
{
void
f(double
a,double
b,double
c,double
*x1,double
*x2);
double
a=1,b=-2,c=1;
f(a,b,c,&x1,&x2);
}
void
f(double
a,double
b,double
c,double
*x1,double
*x2)
{
double
t;
t=b*b-4*a*c;
if
(t>0)
{
*x1=(-b+sqrt(t))/(2*a);
*x2=(-b-sqrt(t))/(2*a);
printf("x1=%.2f\tx2=%.2f\n",*x1,*x2);
}
else
if(t==0)
{
*x1=*x2=(-b+sqrt(t))/(2*a);
printf("x1=x2=%.2f\n",*x1);
}
else
printf("没有实根\n");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式