[问题] 1/阶层的倒数累加问题

楼主: yahhhhhh (ff)   2016-11-01 13:51:20
开发平台(Platform): (Ex: Win10, Linux, ...)
XP
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
Visual c++ 2010版
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
1/阶层倒数
喂入的资料(Input):
预期的正确结果(Expected Output):
错误结果(Wrong Output):
程式码(Code):(请善用置底文网页, 记得排版)
http://codepad.org/LuB3dDg4
补充说明(Supplement):
无法显示出小数 ,且我一步一步想过了还是想不到解法 QQ
有需要补充再告诉我
作者: Schottky (顺风相送)   2016-11-01 13:56:00
有,你的题目到底是什么目前看到有错的就是 total=1/pro; 这行pro 是 int,1/pro 是整数除法,改成 1.0/pro 才是你要的 double 除法 (有小数点的)另外建议学一下单步侦错技巧你现在的计算结果是 1+(1/x!) 这与原来的题目相符吗?
楼主: yahhhhhh (ff)   2016-11-01 14:11:00
" target="_blank" rel="nofollow">
这是题目另外单步侦错是什么意思 因为我是初学者....
作者: Schottky (顺风相送)   2016-11-01 14:18:00
你的循环每次都把 sum 重设为 1 所以计算出来的结果不对
作者: james732 (好人超)   2016-11-01 14:19:00
VC++的话就是按F10
作者: Schottky (顺风相送)   2016-11-01 14:21:00
cout 有错字,是“阶乘”不是“阶层”http://epaper.gotop.com.tw/pdf/acl030900.pdf关于侦错可以看看这篇 (PDF档),Step就是我说的单步执行不过我一直以为老师会先教侦错...我指的不是 sum=sum+total; 那行,而是 sum=1; 那行你这样 sum 无法累加,每次都被重设为 1
作者: pttworld (批踢踢世界)   2016-11-01 15:22:00
写法x在循环内用减的不对。
作者: b0920075 (Void)   2016-11-01 21:19:00
你应该是想写sum+=1吧,不过这样while外面要先给值另外1除以int型态最后应该会变成0吧?
楼主: yahhhhhh (ff)   2016-11-02 23:39:00
谢谢大家 我自己想出来了

Links booklink

Contact Us: admin [ a t ] ucptt.com