作业帮 > 综合 > 作业

c语言编写一元2次方程.

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/04/29 12:09:50
c语言编写一元2次方程.
#include
#include
void main()
{double a,b,c,x1,x2,d;
scanf("%f,%f,%f",&a,&b,&c);
d=b*b-4*a*c;
x1=(-b+sqrt(d))/2;
x2=(-b-sqrt(d))/2;
if(d>0)
printf("x1=%f,x2=%f\n",x1,x2);
if(d=0)
printf("x1=x2=%f\n",x1);
if(d
c语言编写一元2次方程.
这是我做的
#include
#include
void main() //主函数
{
float a,b,c,delta,x,x1,x2,realpart,imagpart; //定义a,b,c,delta,x,x1,x2,x3为浮点型
scanf("%f,%f,%f",&a,&b,&c); //输入二次方程系数a,b,c的值
delta=b*b-4*a*c;
if(fabs(a)>=1e-6) //以下为if语句
{
if(fabs(delta)1e-6)
{
 x1=(-b+sqrt(delta))/2/a;
 x2=(-b-sqrt(delta))/2/a;
 printf("x1=%f,x2=%f\n",x1,x2);//delta>0有两实根
}

else
{
realpart=-b/(2*a);
imagpart=sqrt(-delta)/(2*a);
printf("has complex roots:\n");
printf("%f+%f*i\n",realpart,imagpart);
printf("%f-%f*i\n",realpart,imagpart);//delta
再问: 我的这个问题出现在哪里? 求解释- -
再答: 第一、你根都求错了,好好看一下 第二、你老师没讲吗?对d讨论时不能以0为界限,好好看看我写的吧
再问: 哦,1e-6是什么意思? 我不是这个专业的,只是对c感兴趣自己学的。。