用C语言编写程序,输入一元二次方程的系数a,b,c,计算方程的根,要考虑虚根的情况,求解答

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C语言编写程序,输入一元二次方程的系数a,b,c,计算方程的根,要考虑虚根的情况,求解答相关的知识,希望对你有一定的参考价值。

急需解答,谢谢了。

对于ax^2+bx+c=0
int panduan(int a,int b,int c)

int m;
m=b*b-4*a*c;
return(m);

void main()
int a,b,c,flag,x1,x2,ture,virture;
printf("请依次输入二次方程的系数:\n”);
scanf("%d %d %d",&a,&b,&c);
flag=panduan(a,b,c);
if(flag>0)
x1=(-b+sqr(flag))/(2*a);
x2=(-b-sqr(flag))/(2*a);
printf("两个不相等的实根为:x1=%d,x2=%d",x1,x2);

else if(flag==0)
x1=-b/(2*a);
printf("两个相等的实根为:x1=x2=%d",x1);

else
ture=-b/(2*a);
virture=sqr(-flag)/(2*a);
printf("两个不相等的虚根为:x1=%d+%di,x2=%d-%di",ture,virture,ture,virture);


程序的健壮性不是很好,适用于int型的,你可以将所有的变量都改为float,这样就可以处理其他的问题。要求输入绝对正确,3个系数之间以空格隔开!
参考技术A 忘了,C语言, 参考技术B c

用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++代码希望对你有所帮助!

以上是关于用C语言编写程序,输入一元二次方程的系数a,b,c,计算方程的根,要考虑虚根的情况,求解答的主要内容,如果未能解决你的问题,请参考以下文章

C语言题“输入系数的有效值,计算一元二次方程的实根和虚根”怎么编?

求C语言编程:1,用多分支的方法编写求一元二次方程的所有根的程序;a,b,c由键盘输入.

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

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

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

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