c 怎么写阶乘

c  怎么写阶乘

①求阶乘之和s

s=1!+2!++k! (1<=k<=n)

~

②程序

#inclu原由网de< stdio.h>

/*定义函数*/

long f(int n)

{

int i ;

long E ;

E=1;

for(i=1;i<=n;i++)E=E*i;

return E;

}

/*主函数*/

main()

{

long s;

int k,n;

scanf("%d",&n);

s=0;

for (k=1;k<=n;k++)s=s+f(k);

printf("%ld\n",s);

}

~

③解释

#include< stdio.h>

long f(int n)

/*没试过把f(n)写成f(i)*/

{

int i ;

long E ;//www.58yuanyou.com

/*看见k!,本来用字母k表示(k-1)!,结果k为int。

此处的E表示(k-1)!,数字可能很大,定义为长整形long,

没试过能不能把E直接定义为int*/

E=1;

/*E初始值必须从1开始,不能从0开始,不然E=E*i横为1*/

for(i=1;i<=n;i++)E=E*i;XhMLTb

return E;

}

/*主函数*/

main()

{

long s;

int k,n;

scanf("%d",&www.58yuanyou.com;n);

/*输入阶乘次数上限n*/

s=0;

for (k=1;k<=n;k++)s=s+f(k);

/*如果s的初始值定为1,那么原由网k就要从0开始了,连带把定义函数的i也改为从0开始*/

printf("%ld\n",s);

}

内容版权声明:除非注明原创否则皆为转载,再次转载请注明出处。

文章标题: c 怎么写阶乘

文章地址: www.58yuanyou.com/jiqiao/341734.html

相关推荐