题目反思 3

一元二次方程求根(已知a不等于0,输出时要求先输出较小的解)

思路很简单。由于a不等于0,故可以直接看Δ,然后针对Δ等于0和不等于0两种情况分别输出解。

但是对于我这样的新手还是有一些细节需要注意。

先看错解:

1.4ac和2a都要写成4*a*c和2*a.乘法一定要注意!

2.2*a作为分母,应该要单独带一个括号,不然会被认为a是乘在分子上

3.数学问题:x1要小于x2.但分子上是-b-sqrt(delta)的未必更小,因为a也有可能是负数。因此,必须要加一个if条件判断和swap

4.double后的所有变量都没有必要人为初始化。因为我后续会给它赋值,并且也没有引用它。

5.注意括号的一一对应

改进后的错解:

if(delta==0)的下一行.末尾应该再加一个括号.第一个括号限制2*a作为分母,第二个括号限制整个根,第三个括号是printf的括号.

正解:

还要多加练习!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值