以下是引用TonyDeng在2014-8-6 17:47:05的发言:
你这个程序当然有错误了:if(d=0)
你这个程序当然有错误了:if(d=0)
大师高明!现在程序正确了!
#include<stdio.h>
#include<math.h>
void main()
{
const int PI=3.1415926;
float a,b,c,x1,x2,d;
printf("请输入系数a,b,c:\n");
scanf("%f%f%f",&a,&b,&c);
if(a==0)
{
if(b==0)
printf("方程没有解。\n");
else
{
x1=-c/d;
printf("方程只有一个解%f\n",x1);
}
}
else
{
d=b*b-4*a*c;
if(d>=0)
{
if(d==0)
{
x1=-b/(2*a);
printf("方程有两个相同的解%f\n",x1);
}
else
{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("该方程有两个实根: %2f,%2f,\n",x1,x2 );
}
}
else
{
printf("无解!\n");
}
}
}