C语言编程 计算1!+2!+3!+...+n!的值,其中n的值通过键盘输入

2024-11-05 20:07:03
推荐回答(4个)
回答1:

编写用于求1!+2!+3!+…+n!
1、C程序
#include
void main()
{
int i,a;
float n=1,sum=0;
scanf("%d",&a);
for(i=1;i<=a;i++)
{
n=n*i;
sum=sum+n;
}
printf("1!+2!+3!+...+n!=%.0f",sum);
}

2、C++程序
#include
void main()
{
int i;
float n=1,sum=0;
for(i=1;i<=20;i++)
{
n=n*i;
sum=sum+n;
}
cout<}
来源http://zhidao.baidu.com/question/93376877.html?si=7

回答2:

#include
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();
}

回答3:

#include

/* 通过递归计算一个数的阶乘 */

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;
}

回答4:

#include

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);
}