c语言程序设计题目:计算一元二次方程的根

【程序填空】
#include <stdio.h>
/***********SPACE***********/
#include 【?】
main()
{float a,b,c,disc,x1,x2,realpart,imagpart;

scanf("%f%f%f",&a,&b,&c);
printf("the equation");
/***********SPACE***********/
if(【?】<=1e-6)
printf("is not quadratic\n");
else
disc=b*b-4*a*c;
if(fabs(disc)<=1e-6)
printf("has two equal roots:%-8.4f\n",-b/(2*a));
/***********SPACE***********/
else if(【?】)
{x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
printf("has distinct real roots:%8.4f and %.4f\n",x1,x2);
}
else
{realpart=-b/(2*a);
imagpart=sqrt(-disc)/(2*a);
printf("has complex roots:\n");
printf("%8.4f=%.4fi\n",realpart,imagpart);
printf("%8.4f-%.4fi\n",realpart,imagpart);
}
}

第1个回答  2009-06-09
#include <stdio.h>
/***********SPACE***********/
#include <math.h>

void main()
{
float a,b,c,disc,x1,x2,realpart,imagpart;

scanf("%f%f%f",&a,&b,&c);
printf("the equation");
/***********SPACE***********/
if( a <=1e-6)
printf("is not quadratic\n");
else
{
disc=b*b-4*a*c;
if(fabs(disc)<=1e-6)
printf("has two equal roots:%-8.4f\n",-b/(2*a));
/***********SPACE***********/
else if(disc>0)
{
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
printf("has distinct real roots:%8.4f and %.4f\n",x1,x2);
}
else
{
realpart=-b/(2*a);
imagpart=sqrt(-disc)/(2*a);
printf("has complex roots:\n");
printf("%8.4f+%.4fi\n",realpart,imagpart);
printf("%8.4f-%.4fi\n",realpart,imagpart);
}
}
}

2 -3 -5
the equationhas distinct real roots: 2.5000 and -1.0000
Press any key to continue本回答被网友采纳
第2个回答  2019-03-24
#include
<stdio.h>
/***********SPACE***********/
#include
<math.h>
void
main()
{
float
a,b,c,disc,x1,x2,realpart,imagpart;
scanf("%f%f%f",&a,&b,&c);
printf("the
equation");
/***********SPACE***********/
if(
a
<=1e-6)
printf("is
not
quadratic\n");
else
{
disc=b*b-4*a*c;
if(fabs(disc)<=1e-6)
printf("has
two
equal
roots:%-8.4f\n",-b/(2*a));
/***********SPACE***********/
else
if(disc>0)
{
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
printf("has
distinct
real
roots:%8.4f
and
%.4f\n",x1,x2);
}
else
{
realpart=-b/(2*a);
imagpart=sqrt(-disc)/(2*a);
printf("has
complex
roots:\n");
printf("%8.4f+%.4fi\n",realpart,imagpart);
printf("%8.4f-%.4fi\n",realpart,imagpart);
}
}
}
2
-3
-5
the
equationhas
distinct
real
roots:
2.5000
and
-1.0000
Press
any
key
to
continue
第3个回答  2014-10-31
上面那个就是错的,c程序设计(第三版)谭浩强 著 p109有答案