问题六: f=1!+2!+3!+4!+...+n!(n为一定大的数,太大了会溢出)

2014-11-23 22:53:43 · 作者: · 浏览: 5

/***************************************************************
累加(C语言

AUTHOR:liuyongshui
DATE:********
***************************************************************/
/*
问题: f=1!+2!+3!+4!+...+n!(n为一定大的数,太大了会溢出)

*/

#include

void f(int m); //原函数声明

int main()
{
int n;

printf("请输入一个数(不能太大):");
scanf("%d", &n);

f(n); //把n带入f()函数

return 0;
}

// f()函数定义
void f(int m)
{
int i;
int j;
int s=1;
int sum=0;

for(i=1; i<=m; i++)
{
for(j=1; j<=i; j++)
{
s*=j; //计算i!
}

sum+=s;
s=1; //算完i!后,s赋值为1
}

printf("%d\n", sum); //输出结果
}