用C语言编写程序实现一元二次方程的解?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C语言编写程序实现一元二次方程的解?相关的知识,希望对你有一定的参考价值。

用C语言编写程序实现一元二次方程的解
其中要包含异常的处理,b*b-4*a*c<0时的解

#include <stdio.h>
#include <math.h>
void main ()

double sqrt(double x);
int a,b,c;
double x1,x2,x,e,d,g,f;
scanf("%d %d %d",&a,&b,&c);
d=b*b-4*a*c;
if (a==0)
if (b!=0)
x=-(double)c/(double)b;
if (x==0)
x=-x;
printf("x=%.6lf\n",x);
else
printf("x=%.6lf\n",x);

else
printf("Input error!\n");
else if (d<0)
d=-d;
e=sqrt(d);
g=-(double)b/(2*(double)a);
f=e/(2*a);
if (g!=0)
printf("x1=%.6lf+%.6lfi\nx2=%.6lf-%.6lfi\n",g,f,g,f);
else
printf("x1=%.6lfi\nx2=-%.6lfi\n",f,f);
else if (d==0)
x1=x2=-b/(2*a);
printf("x1=x2=%.6lf\n",x1);
else
e=sqrt(d);
x1=(-b+e)/(2*a);
x2=(-b-e)/(2*a);
printf("x1=%.6lf\nx2=%.6lf\n",x1,x2);


这个可以,但也许不够简便
参考技术A #include <math.h>
main()

int z=0;
while(z==0)

float a,b,c,disc,x1,x2;
printf("input a,b,c:");
scanf("%f,%f,%f",&a,&b,&c);
disc=b*b-4*a*c;
if(disc>=0)z=1;

x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
printf("\nx1=%6.2f x2=%6.2f\n",x1,x2);

我高数学的不好,当b*b-4*a*c<0时的解我不会求~~~~只能让重输..
参考技术B # include<iostream.h>
# include<math.h>

void main(void)

double a,b,c,x1,x2;
cout<<"input a,b,c:";
cin>>a>>b>>c;
double s=b*b-4*a*c;
if(s>=o)

double sqrtVal=sqrt(s);
x1=(-b+sqrtVal)/(2*a);
x2=(-b-sqrtVal)/(2*a);
cout<<"x1="<<x1<<endl;
cout<<"x2="<<x2<<endl

else
cout<<"this question does not hava a real answer"<<endl;


这个是c++代码希望对你有所帮助!

用java编写求出一元二次方程的解,其中abc用键盘输入。

编程实例:求解一元二次方程ax^2+bx+c=0的解。其中a、b、c在键盘上输入。

1.先编写一个求根类Root。

其中包含成员变量a、b、c。

带参数的构造方法Root(int a,int b,int c)

不带参数的构造方法Root()

计算的方法void calculation()

2.编写Test11类,包含main方法。

编译并运行

 

以上是关于用C语言编写程序实现一元二次方程的解?的主要内容,如果未能解决你的问题,请参考以下文章

用c语言编程求线性方程组的解

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

编写一个程序,求二元一次方程组的解

用python求一元二次方程的解

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

用java编写求出一元二次方程的解,其中abc用键盘输入。