这个简单啊
专注于为中小企业提供成都网站设计、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业黄平免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
#includestdio.h
#includemath.h
main()
{
double a,b,c,w;
printf("请输入三个数(方程的系数),中间用空格分开\n");
scanf("%lf%lf%lf",a,b,c);
w=b*b-4*a*c;
if (w0)printf("方程无解\n");
else if(w==0)printf("方程有一个解:x=%lf\n",-b/(2*a));
else printf("方程有两个解:x1=%lf,x2=%lf\n",(-b+sqrt(w))/(2*a),(-b-sqrt(w))/(2*a));
}
首先你已经很清楚的说明了你这个程序是用C语言写二次函数的,而当a=0时,就不是二次函数了,应该按照一次函数来进行计算,否则 一个数除以0就没有意义了.~
#include stdio.h
#include stdlib.h
#include math.h
int main()
{
float a,b,c;
float x1,x2,m;
printf("input number a=:");
scanf("%f",a);
printf("input number b=:");
scanf("%f",b);
printf("input number c=:");
scanf("%f",c);
if(a==0)
printf("一根:%f\n",c*(-1)/b);
else if(a==0b==0)
printf("无意义!");
else
{
m=b*b-4*a*c;
if(m0)
{
printf("两根\n");
printf("x1=%f\n",(-b+sqrt(m))/(2*a));
printf("x2=%f\n",(-b-sqrt(m))/(2*a));
}
else if(m==0)
printf("x1=x2=%f\n",x1);
}
else
printf("无实根\n");
}
return 0;
}
#include stdio.h
#include stdlib.h
#include math.h
int main()
{
float a,b,c;
float x1,x2,m;
printf("input number a=:");
scanf("%f",a);
printf("input number b=:");
scanf("%f",b);
printf("input number c=:");
scanf("%f",c);
m=b*b-4*a*c;
if(m=0a!=0){
if(m0){
x1=(-b+sqrt(m))/(2*a);
x2=(-b-sqrt(m))/(2*a);
printf("两根\n");
printf("x1=%f\n",x1);
printf("x2=%f\n",x2);}
else
printf("一根\n");
printf("x1=x2=%f\n",x1);}
else
{
if(a=0 b!=0) printf("根是x=-c/b");
if(a=0b=0) printf("为常函数");
if(a!=0) printf("无根\n");
}
system("PAUSE");
return 0; }
修改如下:
//---------------------------------------------------------------------------
# includestdio.h
# includemath.h
int main(){
double a,b,c;
printf("Please input a,b,c:\n");
scanf("%lf%lf%lf",a,b,c); /*注意这里*/
if(b*b-4*a*c0)
printf("NO result!\n");
else
printf("x1=%lf\nx2=%lf\n",(sqrt(b*b-4*a*c)-b)/(2*a),(-b-sqrt(b*b-4*a*c))/(2*a)); /*注意这里*/
return 0;
}
//---------------------------------------------------------------------------