#include<stdio.h>
#include<math.h>
int main()
{
float a,b,c,d,x1,x2,realpart,imagpart;
printf("请依次输入二元一次的三个系数a,b,c:");
scanf("%1f,%1f,%1f",&a,&b,&c);
if (fabs(a)<0.0001)
printf("The equation is not a quadratic\n");
else
{
d=b*b-4*a*c;
if (fabs(d)<1e-6)
printf("The equation has two equal roots:x1,2=%8.4f\n", -b/(2*a));
else if (d>1e-6)
{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("The equation has two roots:x1=%8.4f,x2=%8.4f\n",x1,x2);
}
else
{
realpart=-b/(2*a);
imagpart=sqrt(-d)/(2*a);
printf("The equation has complex roots:\n");
printf("x1=%8.4f+%8.4fi,",realpart,imagpart);
printf("x2=%8.4f-%8.4fi\n",realpart,imagpart);
}
}
return 0;
}
代码如下,我用的是VS2012运行。
C语言一元二次方程求根运行出错是什么原因?
答案:2 悬赏:40 手机版
解决时间 2021-02-07 14:01
- 提问者网友:孤凫
- 2021-02-07 09:54
最佳答案
- 五星知识达人网友:琴狂剑也妄
- 2021-02-07 11:34
scanf("%1f,%1f,%1f",&a,&b,&c);
这句要求,输入数据只能是一位数
且,要用英文逗号分隔开数据,如:
1,2,1
这句要求,输入数据只能是一位数
且,要用英文逗号分隔开数据,如:
1,2,1
全部回答
- 1楼网友:轻雾山林
- 2021-02-07 12:21
#include "math.h"
如:9的平方根的代码:sqrt (9)值是:3
你的代码中,m定义的是整型变量。而它的赋值符右边是单精度运算。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯