用c语言求ax^2+bx+c=0方程的解。
#include <stdio.h>
#include <math.h>
#define m 0.000001
int main()
{
float a,b,c,x,x2,n,q,p;
scanf ("%f%f%f",&a,&b,&c);
n=b*b-4*a*c;
if ((a<m)&&(a>-m))
{
x=(-c)/b;
printf("%f",x);
}
else if ((n<m)&&(n>-m))
{
x=(-b)/(2*a);
printf("%f",x);
}
else if (n>0)
{
x=((-b)+sqrt(n))/(2*a);
x2=((-b)-sqrt(n))/(2*a);
printf("%f\n%f",x,x2);
}
else
{
q=(-b)/(2*a);
p=sqrt(-n)/(2*a);
printf("%f+%fi\n",q,p);
printf("%f-%fi\n",q,p);
}
}
时间: 2024-11-21 02:42:07