设有一元二次方程ax^2+bx+c=0,输入a、b、c的值,判断该一元二次方程是有2个实根,还是1个实根,还是没有实根。若有2个实根,则输出两个实根的解;若有1个实根吗,则输出一个实根的解;若没有实根则不输出。
首先,这是一个一元二次方程,考虑到要用到一些数学公式,所以我们在输入代码时先引入头文件#include<math.h>
然后,由于a、b、c是未知数,所以我们首先要定义这三个未知数,并然他们在屏幕上输出出来,接着用if-else if-else if结构进行二元一次方程辨别式的判断就可以输出相应的结果了。
#include<stdio.h>
#include<math.h>
int main()
{
int a;
printf("输入a:");
scanf ("%d",&a);
int b;
printf("输入b:");
scanf ("%d",&b);
int c;
printf("输入c:");
scanf ("%d",&c);
if (b*b-4*a*c>0)
{
printf("一元二次方程%d*x*x+%d*x+%d=0存在两个实根:x1=%d,x2=%d",a,b,c,(-b+sqrt(b*b-4*a*c)/(2*a)),(-b-sqrt(b*b-4*a*c)/(2*a)));
}
else if (b*b-4*a*c==0)
{
printf("一元二次方程%d*x*x+%d*x+%d=0存在一个实根:x=%d",a,b,c,(-b+sqrt(b*b-4*a*c)/(2*a)));
}
else if (b*b-4*a*c<0)
{
printf("一元二次方程%d*x*x+%d*x+%d=0不存在实根" );
}
return 0;
}
接下来我们就可以进行运行检验,例如当a=1、b=-5、c=6时,输出后可以得出以下结果。
所以经检验,该代码可以正常运行。当然,你也可以多检验几次确保正确。
注:你也可以不用我这个代码,因为我知道这个代码很low,但是我现在也还是个初学者😅😅,还请大神们多多指教😘😘🌹🌹