㈠ 用c语言编写”求一元二次方程的根”的程序

/*求一元二次方程ax*x+bx+c=0的精确求解方法*/
#include "stdio.h"
#include "math.h"

main()
{
float a,b,c,x1,x2,d;
printf("请输入内a:");
scanf("%f",&a);
printf("请输入b:");
scanf("%f",&b);
printf("请输入c:");
scanf("%f",&c);
d=b*b-4*a*c;

if(d < 0)
printf("方程没有实容数解。\n");

if (d==0)
{
x1=(-b)/(2*a);
printf("x1=%f\n",x1);
}
if (d>0)
{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%f,x2=%f\n",x1,x2);}
}

㈡ 用C语言编写求一元二次方程根的程序

#include<stdio.h>
#include<math.h>
intmain()
{
doublea,b,c,disc,x1,x2,realpart,imagpart;
scanf("%lf%lf%lf",&a,&b,&c);
printf("Theequation");
if(fabs(a)<=1e-6)
("isnotaquadratic ");
else
{
disc=b*b-4*a*c;
if(fabs(disc)<=1e-6)
printf("hastwoequalroots:%8.4f ",-b/(2*a));
else
if(disc>0)
{
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
printf("hasdistinctrealroots:%8.4fand%8.4f ",x1,x2);
}
else
{
realpart=-b/(2*a);
imagpart=sqrt(-disc)/(2*a);
printf("hascomplexroots: ");
printf("%8.4f+%8.4fi ",realpart,imagpart);
printf("%8.4f-%8.4fi ",realpart,imagpart);
}
}
return0;
}

㈢ c语言基础,求一元二次方程的根

求根公式使复用错误,另外少了大括制号,加上即可

#include<stdio.h>
#include<math.h>
intmain()
{
doublea,b,c;
doubled,f;
scanf("%lf%lf%lf",&a,&b,&c);
if((pow(b,2)-4*a*c)>=0){
d=(pow(b*b-4*a*c,1/2)-b)/(2*a);
f=(-pow(b*b-4*a*c,1/2)-b)/(2*a);
printf("x1=%f,x2=%f ",d,f);
}
else{
printf("函数无实数根 ");
}
return0;
}

㈣ c语言编程:求一元二次方程的根

#include<iostream>

#include<cmath>

usingnamespacestd;

intmain()

{floata,b,c;floatx1,x2; cin>a>>b>>c;floatdlt=b*b-4*a*c;if(dlt>=0){x1=-b/2/a+sqrt(dlt)。

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

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

else

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

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

return0。

(4)c语言求二次方程的根扩展阅读:

成立条件:

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

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

②只含有一个未知数;

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

㈤ C语言 编程求二次方程根

我没运行代码来 不过问题貌似在else if(fabs(disc)>1e-6)
你的源第1个if判断delta 就是那个disc 就是那么三角形样的东西 为0 那么fabs(disc)<=1e-6浮点数为0
你的第2个elseif 我想你要判断的是disc为正数 那么可以直接开方 那你应该disc>1e-6而不是fabs(disc)>1e-6 其实disc>0就行了
最后个else你是想disc为负数 那么要有i 我建议你写上disc<-(1e-6)或者直接小于0

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

㈥ c语言:求二次方程的根,a,b,c由键盘输入

把p=sqrt(disc)/(2*a);改成q=sqrt(disc)/(2*a);就可以了……

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

^

#include<iostream>

#include<cmath>

usingnamespacestd;

intmain()

{floata,b,c;floatx1,x2; cin>a>>b>>c;floatdlt=b*b-4*a*c;if(dlt>=0){x1=-b/2/a+sqrt(dlt)。

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

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

else

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

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

return0。

(7)c语言求二次方程的根扩展阅读:

成立条件:

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

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

②只含有一个未知数;

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

㈧ c语言用调用函数求一元二次方程的根

#include<stdio.h>
#include<math.h>
void m(float a,float b,float c)
{
double x1,x2;
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
printf("方程的根是%.2lf和%.2lf",x1,x2);
}
void n(float a,float b,float c)
{
double x;
x=(-b)/(2*a);
printf("方程的根为%.2lf",x);
}
void f(float a,float b,float c)
{
printf("方程无实数根\n");
}
main()
{
float a,b,c;
printf("请输入a,b,c的值\n");
scanf("%f%f%f",&a,&b,&c);
if(b*b-4*a*c>0)
m(a,b,c);
if(b*b-4*a*c==0)
n(a,b,c);
if(b*b-4*a*c<0)
f(a,b,c);
}

㈨ C语言编程:求1元2次方程的根

#include <stdio.h>

#include <math.h>

int main()

{

double a,b,c; /*定义系数变量*/

double x1,x2,p; /*定义根变量和表达式的变量值*/

printf("请输入a,b,c:"); /*提示用户输入三个系数*/

scanf("%lf%lf%lf",&a,&b,&c); /*接收用户输入的系数*/

printf(" "); /*输出回行*/

p=b*b-4*a*c; /*给表达式赋值*/

x1=(-b+sqrt(p))/(2*a); /*根1的值*/

x2=(-b-sqrt(p))/(2*a); /*跟2的值*/

printf("x1=%f,x2=%f ",x1,x2); /*输出两个根的值*/

}

拓展资料

在实际的求法中,一般还需要判断有无实根,这是可以通过p的值来判断