为了账号安全,请及时绑定邮箱和手机立即绑定

大神快过来,输入3,输出结果为10,我想了半天,就是看不出其是如何运算?请请大神把运算步骤发一下,谢谢

58b7e60a0001789003600640.jpg
#include"stdio.h" long f(int n) { int i;long s; s=1 ; for(i=1;i<=n;i++)s=s*i; return s;} main() { long s; int k,n; scanf("%d",&n); s=0; for(k=0;k<=n;k++)s=s+f(k); printf("%ld\n",s);                   }

正在回答

4 回答

我觉得你应该是忽略了k=0的情况,当k=0时,运算f(0),进入函数,此时由于k=0小于i的初始值1,所以不进入循环,函数的值就为s的初始值。f(0)=1,f(1)=1,f(2)=2,f(3)=6;全部加起来就是10罗。

1 回复 有任何疑惑可以回复我~
#1

3f0 提问者

你说对了,输入四,输出1+1+2+6+24就等于28
2017-03-02 回复 有任何疑惑可以回复我~

一年懵逼

0 回复 有任何疑惑可以回复我~

看不懂

0 回复 有任何疑惑可以回复我~

看不懂

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

大神快过来,输入3,输出结果为10,我想了半天,就是看不出其是如何运算?请请大神把运算步骤发一下,谢谢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信