c语言程序结果停不下来,C语言计算一元二次方程结果一直为-inf,不知道是哪里出错了,求大神解答...

这是一个C语言程序,用于求解一元二次方程的根。程序首先从用户那里接收方程的三个系数,然后计算判别式,并根据判别式的值输出根的情况,包括实数解、重解和虚数解。注意,程序中检查是否为一元二次方程的条件语句有误,应修正为`0 == a`。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

满意答案

02ae427d08e371d7e90d5b995e828d6d.png

leexiaoju

2018.04.29

02ae427d08e371d7e90d5b995e828d6d.png

采纳率:56%    等级:7

已帮助:309人

#define _CRT_SECURE_NO_WARNINGS

#include 

#include 

int main(void) {

double a, b, c; //系数

double x1, x2; //结果

double d; //判定式

printf("请输入一元二次方程的三个系数(用空格隔开)>");

scanf("%lf %lf %lf", &a, &b, &c);

d = b * b - 4 * a * c;

if (0==a) { // 这里错了,你写成 "a=0"了,建议以后 写 "0 == a"

printf("不是一元二次方程\n"); //a等于0时为一元一次方程

} else if (d 

//判定式等于0时为虚数解

printf("虚数解\n");

} else if (d == 0) { //判定式等于0时为重解

x1 = -b / (2 * a);

printf("重解 x=%lf\n", x1);

} else {

x1 = (-b + sqrt(d)) / (2 * a);

x2 = (-b - sqrt(d)) / (2 * a);

printf("x1=%f,x2=%f\n", x1, x2);

}

return 0;

}追问: 好的,谢谢!!找了半天没发现这个错误!

00分享举报

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值