#include<stdio.h>
#include<math.h>
void deltaZero(double a,double b,double c)
{
double ans=-b/(2*a);
printf("x1=x2=%lf\n",ans);
}
void deltaLargerZero(double a,double b,double c)
{
double ans1,ans2,d;
d=b*b-4*a*c;
ans1 = (-b+sqrt(d))/(2*a);
ans2 = (-b-sqrt(d))/(2*a);
printf("x1=%lf,x2=%lf\n",ans1,ans2);
}
void deltaLessZero(double a,double b,double c)
{
double real,imar,d;
d=b*b-4*a*c;
real = -b/(2*a);
imar = sqrt(-d)/(2*a);
printf("x1=%lf+%lfi,x2=%lf-%lfi\n",real,imar,real,imar);
}
void main()
{
double a,b,c;
double d;
printf("please input a,b,c\n");
scanf("%lf,%lf,%lf",&a,&b,&c);
d=b*b-4*a*c;
if(d==0) deltaZero(a,b,c);
else if(d>0) deltaLargerZero(a,b,c);
else if(d<0) deltaLessZero(a,b,c);
printf("please input a,b,c\n");
}
我是这样写的 请问哪错了 谢谢
嗯嗯 真的 这样呢 输入的问题 他有一个要求就是考虑当a=0时的情况,此时方程退化为一次方程。要想实现这个条件 应该怎么写 加在哪呢 谢谢啦
本回答被提问者和网友采纳