C语言 任意输入一元二次方程的系数a, b, c,计算并输出一元二次方程的所有根
/*编写程序:任意输入一元二次方程的系数a,b,c,计算并输出一元二次方程的所有根。*/#include<stdio.h>#include<math.h>voidmain...
/*编写程序:任意输入一元二次方程的系数a, b, c,计算并输出一元二次方程的所有根。*/
#include <stdio.h>
#include <math.h>
void main()
{
float a,b,c,x1,x2,disc;
scanf("f%f%f%",&a,&b,&c);
disc=b*b-4*a*c;
if(fabs(a)<=1e-6)
{
x1=-c/b;
printf("%2.4f",x1);
}
else if(disc>=0)
{
x1=float(-b+sqrt(disc))/(2*a);
x2=float(-b-sqrt(disc))/(2*a);
printf("%2.4f%2.4f",x1,x2);
}
else(disc<0)
{
printf("根为共轭复数");
}
}
为什么无论输入什么都是 根为共轭复数
求找错 展开
#include <stdio.h>
#include <math.h>
void main()
{
float a,b,c,x1,x2,disc;
scanf("f%f%f%",&a,&b,&c);
disc=b*b-4*a*c;
if(fabs(a)<=1e-6)
{
x1=-c/b;
printf("%2.4f",x1);
}
else if(disc>=0)
{
x1=float(-b+sqrt(disc))/(2*a);
x2=float(-b-sqrt(disc))/(2*a);
printf("%2.4f%2.4f",x1,x2);
}
else(disc<0)
{
printf("根为共轭复数");
}
}
为什么无论输入什么都是 根为共轭复数
求找错 展开
2个回答
展开全部
#include <stdio.h>
#include <math.h>
void main()
{
float a,b,c,x1,x2,disc;
scanf("f%f%f%",&a,&b,&c); //改成scanf("%f%f%f",&a,&b,&c);
disc=b*b-4*a*c;
if(fabs(a)<=1e-6)
{
x1=-c/b;
printf("%2.4f",x1);
}
else if(disc>=0)
{
x1=float(-b+sqrt(disc))/(2*a);
x2=float(-b-sqrt(disc))/(2*a);
printf("%2.4f%2.4f",x1,x2);
}
else(disc<0) //改成 else if(disc<0)
{
printf("根为共轭复数");
}
}
追问
十分感谢 自己找还真没找出来
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询