重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

c语言函数二次方程根 用c语言编写求二次函数的根

用c语言 二次方程根的程序。

C语言编程

创新互联是一家专业提供和平企业网站建设,专注与网站设计制作、做网站、H5建站、小程序制作等业务。10年已为和平众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。

输入二次方程的三个系数

a

b

c

输出二次方程的根

#include

stdio.h

#include

stdlib.h

#include

math.h

int

main()

{

float

a,b,c,i,root1,root2;

printf("请输入三个系数:(输入格式:a,b,c)");

scanf("%f,%f,%f",a,b,c);

i=b*b-4*a*c;

if(i0)

{

root1=(-b+sqrt(i))/(2*a);

root2=(-b-sqrt(i))/(2*a);

printf("方程有两不等实根:");

printf("%f,%f",root1,root2);

}

else

if(i==0)

{

root1=root2=-b/(2*a);

printf("方程有两相等实根:");

printf("%f,%f",root1,root2);

}

else

{

root1=(-b)/(2*a);

root2=sqrt(-i)/(2*a);

printf("方程有两复根:");

printf("%f+%fi,%f-%fi",root1,root2,root1,root2);

}

return

0;

}

c语言中,求一元二次方程的根

#include iostream

#include cmath

using namespace std;

int main()

{float a,b,c;float x1,x2; cinabc;float dlt=b*b-4*a*c;if(dlt=0){x1=-b/2/a+sqrt(dlt)。

/2/ax2=-b/2/a-sqrt(dlt)/2/a。

couta"x^2+"b"x+"c"=0有两个实根:";cout"x1="x1",x2="x2endl;}

else

{x1=-b/2/a;x2=sqrt(-dlt)/2/a;couta"x^2+"b"x+"c"=0有两个虚根:"。

cout"x="x1"+/-"x2"i"endl;}

return 0。

扩展资料:

成立条件:

一元二次方程成立必须同时满足三个条件:

①是整式方程,即等号两边都是整式,方程中如果有分母;且未知数在分母上,那么这个方程就是分式方程,不是一元二次方程,方程中如果有根号,且未知数在根号内,那么这个方程也不是一元二次方程(是无理方程)。

②只含有一个未知数;

③未知数项的最高次数是2。

参考资料来源:百度百科-c语言

C语言 编程求二次方程根

我没运行代码 不过问题貌似在else if(fabs(disc)1e-6)

你的第1个if判断delta 就是那个disc 就是那么三角形样的东西 为0 那么fabs(disc)=1e-6浮点数为0

你的第2个elseif 我想你要判断的是disc为正数 那么可以直接开方 那你应该disc1e-6而不是fabs(disc)1e-6 其实disc0就行了

最后个else你是想disc为负数 那么要有i 我建议你写上disc-(1e-6)或者直接小于0

最后的最后 你一开始f=sqrt(disc)/(2*a); 有验算disc是大于等于0的亲?!!!

c语言求二次函数的根

#include stdio.h

int main(void)

{

double a,b,c,d,e;

double x1,x2;

printf("请输入ax^2+bx +c = 0中a,b,c的值");

scanf("%lf,%lf,%lf",a,b,c);

e = b * b - 4 * a * c;

if (e0) {

printf("无解,请重新输入\n");

scanf("%lf,%lf,%lf",a,b,c);

}

printf("输入正确,正在计算....\n");

d = sqrt(e);

x1 = (-b + d)/(2 * a);

x2 = (-b - d)/(2 * a);

printf("x1=%f\n",x1);

printf("x2=%f\n",x2);

return 0;

}


分享题目:c语言函数二次方程根 用c语言编写求二次函数的根
文章网址:http://cqcxhl.cn/article/doeisoe.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP