...bx+c=0的实数根,abc由键盘输入,a不等于0且b^2—4a
发布网友
发布时间:2024-10-08 17:18
我来回答
共2个回答
热心网友
时间:2024-10-08 18:46
1 输入abc值
2 判断b*b-4*a*c符号
区分无根 相等实根 不等实根三种情况
3 对每种情况 套用公式求根 输出结果 或者输出无根
比较简单的 用if else就可以了
其它的 都是基本的算式
热心网友
时间:2024-10-08 18:45
/*一.关于自动解一元二次方程*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
double a,b,c,del,k;
s:
printf ("a=");scanf ("%lf",&a);
printf ("b=");scanf ("%lf",&b);
printf ("c=");scanf ("%lf",&c);
del=pow (b,2)-4*a*c;
if (a==0) if (b==0&&c==0) printf ("If you want,it can be anything~");
else if (b==0&&c!=0) {printf ("Get out,don't ask me!\n");exit (0);}
else printf ("%.0lfX+%.0lf=0\nX=%lf",b,c,-c/b);//a为0时为一元一次方程
else if (0==del) printf ("有唯一解:%lfX^2+%lfX+%lf=0\nX=%lf",a,b,c,-b/(2*a));//del等于0
else if (0>del) printf ("无实数解!");
else printf ("%lfX^2+%lfX+%lf=0\nX1=%lf\nX2=%lf",a,b,c,(-b+sqrt(del))/2*a,(-b-sqrt(del))/2*a);
printf ("\ncontinue?");
scanf ("%d",&k);if (k==1) goto s;
return 0;
}