求一元二次方程的根
阿新 • • 發佈:2021-02-14
7.求一元二次方程的根
根據下面給出的求根公式,計算並輸出一元二次方程的兩個實根,要求精確到小數點後4位。程式中所有浮點數的資料型別均為float.
#include <stdio.h>
#include <math.h>
int main()
{
//a*x^2+b*x+c=0
float a,b,c;
float delta;
float x1,x2;
float x;
float m,n;
char i;
printf("請輸入a,b,c:" );
scanf("%f%f%f",&a,&b,&c);
i='i';
if(a==0)
{
printf("這不是一個一元二次方程\n");
x=(-c)/b;
printf("%.1f",x);
}
else if(a!=0)
{
delta=b*b-4*a*c;
if(delta>=0)
{
delta=sqrt (delta);
x1=-b/(2.0*a)+delta/(2.0*a);
x2=-b/(2.0*a)-delta/(2.0*a);
printf("x1=%.1f,x2=%.1f",x1,x2);
}
else if(delta<0)
{
delta=sqrt(-delta);
m=-b/(2.0*a);
n=delta/(2.0*a);
printf("x1=%.1f+%c%.1f\n" ,m,i,n);
printf("x1=%.1f-%c%.1f",m,i,n);
}
}
return 0;
}