#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c;
float s, x1, x2;
printf("输入各项系数:");
scanf("%f%f%f",&a,&b,&c);
s=b*b-4*a*c;
if(s>=0)
{
x1=(-b+sqrt(s))/(2*a);
x2=(-b-sqrt(s))/(2*a);
printf("这个函数的两个根:x1=%.2f,x2=%.2f\n",x1,x2);
}
else if(s==0)
{
x1=-b/(2*a);
x1=x2;
printf("这个函数的一个根:x1=x2=%.2f\n",x1);
}
else if(s<0)
{
printf("这个方程无解\n");
}
return 0;
}
思路是先赋值,a,b,c,s,x1,x2。其中的赋值就是一元二次方程的公式。我是分三种情况写的,分别是两个根,一个根以及无解。这里注意一下保留两个小数的“.2”,还有如果根需要取得比较大的,可以吧float改成double。