c语言,这个哪里错了,为什么输任何数据都显示#ND00
答案:2 悬赏:60 手机版
解决时间 2021-03-20 09:59
- 提问者网友:感性作祟
- 2021-03-19 21:13
c语言,这个哪里错了,为什么输任何数据都显示#ND00
最佳答案
- 五星知识达人网友:十年萤火照君眠
- 2021-03-19 21:59
修改后的代码:
#include
#include
int main()
{
double a, b, c, d, x, x1, x2;
scanf("%lf%lf%lf", &a, &b, &c);
if (a == 0)
{
if (b == 0)
{
if (c == 0)
printf("x为任意实数");
else
printf("x无解");
}
else
{
if (c == 0)
printf("x=0");
else
printf("x=%f",-c/b);
}
}
else
{
if (b == 0)
{
if (c == 0)
printf("x=0");
else
printf("x1=%lf,x2=%lf",sqrt(b/a),-sqrt(b/a));
}
else
{
if (c == 0)
printf("x=0,x=%lf",-b/a);
else
{
d=b*b-4*a*c;
if (d<0) printf("x1=(%lf+%lfi)/%f,x2=(%lf-%lfi)/%f",-b,sqrt(-d),2*a,-b,-sqrt(-d),2*a);
else printf("x1=%lf,x2=%lf",(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a));
}
}
}
return 0;
}追问就在f前面加了个1?追答字母lL的小写float换成double
#include
#include
int main()
{
double a, b, c, d, x, x1, x2;
scanf("%lf%lf%lf", &a, &b, &c);
if (a == 0)
{
if (b == 0)
{
if (c == 0)
printf("x为任意实数");
else
printf("x无解");
}
else
{
if (c == 0)
printf("x=0");
else
printf("x=%f",-c/b);
}
}
else
{
if (b == 0)
{
if (c == 0)
printf("x=0");
else
printf("x1=%lf,x2=%lf",sqrt(b/a),-sqrt(b/a));
}
else
{
if (c == 0)
printf("x=0,x=%lf",-b/a);
else
{
d=b*b-4*a*c;
if (d<0) printf("x1=(%lf+%lfi)/%f,x2=(%lf-%lfi)/%f",-b,sqrt(-d),2*a,-b,-sqrt(-d),2*a);
else printf("x1=%lf,x2=%lf",(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a));
}
}
}
return 0;
}追问就在f前面加了个1?追答字母lL的小写float换成double
全部回答
- 1楼网友:荒野風
- 2021-03-19 23:38
把所有的if语句中判断部分的=换成==追问还是老样子QAQ追答……
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯