谭浩强C语言上一个貌似错误的地方

来源:百度知道 编辑:UC知道 时间:2024/06/15 15:05:46
【例2.4】求1-1/2+1/3-1/4.....-1/100
算法可表示如下:
S1: sigh=1
S2: sum=1
S3: deno=2
S4: sigh=(-1)×sigh
S5: term= sigh×(1/deno )
S6: term=sum+term
S7: deno= deno +1
S8:若deno≤100,返回S4;否则,结束。
s6中的sum赋的是1,算下去的不就是求1-1/100,用数学算是没错,但是这个算法本身貌似有错,sum一直没变
我没打错,我下电子版自学的,估计是网上传来传去错了.我是直接复制的!
如果没错的话,直接写1-1/100可以吗?

这个算法没错啊
这是算法,不是代码,是解决问题的方法
你不能直接把他的表达式看成代码
要按照这个算法的思想写出代码
比如这里面你的变量全是整型,那term自然不会变了
如果你没写错的话,变得是应该是term

代码中要写成1-1.0/100,并且这个值要赋给一个浮点型变量
算法里直接写1-1/100没问题,算法是给人看的

S6是sum=tem+sum
你是将tem求和又不是将sum求和,所以sum会一直没变!

估计你打错了。。仔细看看再

sum的值一直是1

如果return的值是sum就肯定错。

好象是的。。。