代码思维:
一、想好n的阶乘和是什么?
1、先求n的阶乘
2、求和
二、想每一步需要用到的知识
1、阶乘:1x2x3.....xn 用到了循环语句
2、求和:还是用到了循环
三、打代码
1、设置变量
2、打循环
注意点:
为什么不在for循环中套for循环?
我们来整理一下,这样写的思路。
n=1时,我们进入第一个循环,然后并没有发生什么,进入第二个循环,ret=1*1,sum=0+1;
此时是没有问题的,n=2时,我们在进入在第一个循环,没有发生什么,进入第二个循环,ret=1*1,但是请注意,之后,并不会计算sum=sum+ret,而是继续在第二个循环中没有跳脱出来,因为第二个循环的条件是i<2,此时仍然是真的,所以,第二个循环继续,ret=1(上一次ret的值)*2=2;在跳出第二个循环,sum=0+2,但注意,此时第一个循环没有结束,对于第一个循环,此时n=1,还要继续n=2的情况,所以最终结果是4,就错了
如何调试这样的错误呢?
首先按ctrl+Fn+F10,再在调试中找到监视,输入n,i,j,sum,ret,在调试窗口中输入你想要的数字,按Fn+F10,就可以知道过程啦
分享一些调试的内容
按Fn+F9可以出现小红点,按Fn+F5可以出现黄色的箭头,箭头会跳到每一个小红点(断点)的地方,这样就不用一直按Fn+F10(黄箭头)一步一步地找错误啦(有些循环超多次,这样一下一下按到循环结束会非常耗时的呢)
Fn+F9和Fn+F5配合使用也可以进入函数内部哦,右击小红点---条件---输入i==?,就可以进入到第?个循环啦
如何关掉调试呢?如果是F10,会在两个小红点结束处或者这个代码结束后而自己结束
F5的话按一下开始,再按一下就结束了,记得关掉调试窗口哦
F9的话,将鼠标移到那一行,再按一下就消失啦