#include
#include
int main()
{
double a,b,c,disc,x1,x2,realpart,imagpart;
scanf("%lf,%lf,%lf",&a,&b,&c);
printf("The equation");
if(fabs(a)<=1e-6)
printf("is not a 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));
else if(fabs(disc)>1e-6)
{
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
printf(" has two toots:%8.4fand%8.4f\n",x1,x2);
}
else
{
realpart=-b/(2*a);
imagpart=(b*b-4*a*c)/(2*a);
printf(" has complex roots:\n");
printf("%8.4f+%8.4fi",realpart,imagpart);
printf("%8.4f-%8.4fi",realpart,imagpart);
}
}
return 0;
}
C语言代码,新手,帮忙看看哪里有错误
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
LUCKEYMAN 2015-09-17 09:00关注楼主,你输入的三个值,只有a有给值,b跟c都是0
scanf("%lf,%lf,%lf",&a,&b,&c);中的两个逗号去掉。改成scanf("%lf%lf%lf",&a,&b,&c);解决 无用评论 打赏 举报