首页 > 代码库 > 解一元二次方程【C】
解一元二次方程【C】
#include<stdio.h>
#include<math.h>
int main()
{
double x1,x2,a,b,c;
double delta;
scanf("%lf%lf%lf",&a,&b,&c);
delta=b*b-4*a*c;
if(a==0)
{
if(b==0&&c==0)
{
printf("无限\n");
}
else {
if(b==0&&c!=0)
{
printf("无解\n");
}
else{
if(b!=0&&c==0)
{
printf("x=0\n");
}
else{
if(b!=0&&c!=0)
{
printf("x=%lf",c/b);
}
}
}
}
}
else
if(a!=0)
{
if(delta<0)
{
printf("无解\n");
}
else
{
if((-b+sqrt(delta))/(2*a)==(-b-sqrt(delta))/(2*a))
{
printf("x1=x2%lf",(-b-sqrt(delta))/(2*a));
}
else
{
printf("x1=%lf x2=%lf",(-b+sqrt(delta))/(2*a),(-b-sqrt(delta))/(2*a));
}
}
}
return 0;
}
解一元二次方程【C】