用数据结构(C语言)的方法写出下面的题目
用户从键盘输入一元二次方程的三个系数:a,b和c,利用求根公式求出该方程的解。注意:用户输入的a,b,c有可能构成一元二次方程,也可能不构成一元二次方程;在一元二次方程中...
用户从键盘输入一元二次方程的三个系数:a,b和c,利用求根公式求出该方程的解。
注意:用户输入的a,b,c有可能构成一元二次方程,也可能不构成一元二次方程;在一元二次方程中,也存在实数解、复数解等各种情况,请仔细考虑
(1)用户输入 0 0 1,应输出无解
(2)当deta小于0时,应输出两个共轭复数根。注意: 3--4i和3+-4i是错误的表示,应该是3+4i和3-4i 展开
注意:用户输入的a,b,c有可能构成一元二次方程,也可能不构成一元二次方程;在一元二次方程中,也存在实数解、复数解等各种情况,请仔细考虑
(1)用户输入 0 0 1,应输出无解
(2)当deta小于0时,应输出两个共轭复数根。注意: 3--4i和3+-4i是错误的表示,应该是3+4i和3-4i 展开
1个回答
展开全部
#include<stdio.h>
#include<math.h>
int main( )
{float a,b,c,d,e,f;
scanf("%f%f%f",&a,&b,&c);
if(a==0&&b==0&&c)printf("无解\n");
else if(a==0&&b)printf("x=%g\n",-c/b);
else
{d=b*b-4*a*c;
e=-b/(2*a);
f=sqrt(abs(d))/(2*a);
if(d==0)printf("x1=x2=%g\n",-b/(2*a));
else if(d>0)printf("x1=%g\nx2=%g\n",e-f,e+f);
else printf("x1=%g-%gi\nx2=%g+%gi\n",e,f,e,f);
}
return 0;
}
更多追问追答
追问
。。所以其实只是简单的C语言程序,没有涉及到数据结构是吗?还是我对数据结构了解不对=-=
追答
简单的问题就用简单的方法解决。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询