C语言:求ax^2+bx+c=0方程的解

求大神帮忙瞧瞧哪里有问题QAQ谢谢!!... 求大神帮忙瞧瞧哪里有问题QAQ谢谢!! 展开
 我来答
b_spike
2015-12-07 · TA获得超过3687个赞
知道大有可为答主
回答量:3724
采纳率:78%
帮助的人:1200万
展开全部
第一:第10行到第27行应该用大括号括起来,因为都是a不等于0的时候才做的处理
第二:输入严重错误,你在scanf中,三个%lf用的是逗号分隔,你在实际输入的时候也必须是逗号分隔,不能使用空格,否则a、b、c三个变量的值无法正确获取

第三:求共轭复根处有严重问题,因b*b-4*a*c已是负数,没有平方根,应使用sqrt(4*a*c-b*b)。另外此时x1和x2不能再表示两个根,而应表示实数部分和虚数部分,所以x1=-b/(2*a),x2=sqrt(4*a*c-b*b)/(2*a)即可,输出时使用字符串拼接的方式而不要直接输出x1和x2
当然你如果想图省事,干脆就输出“没有实数根”好了,求复数可能你现阶段比较困难(学了C++之后就简单多了,可以自己定义复数类去做)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式