第1个回答 2009-05-07
#include<stdio.h>
void main()
{
long i,n,num=1,result=0;
printf("Please input a num:");
scanf("%ld",&n);
for(i=1;i<=n;i++)
{
num*=i;
result+=num;
}
printf("result=%ld",result);
getch();
}本回答被提问者采纳
第2个回答 2009-05-07
#include <stdio.h>
/* 通过递归计算一个数的阶乘 */
int factorial(int num)
{
if (num==1)
return 1;
else
return (num * factorial(num - 1));
}
int main()
{
int i, n;
long sum = 1;
scanf("%d", &n);
for (i = 2; i <= n; ++i)
sum += factorial(i);
printf("%ld\n",sum);
return 0;
}
第3个回答 2009-05-07
#include <stdio.h>
int jiecheng(int n)
{
if(n<0) return 0;
else if(n<=1)return 1;
return n*jiecheng(n-1);
}
void main()
{
int i,n,sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
sum=sum+jiecheng(i);
printf("the sum is: %d",sum);
}