用c语言编程实现求1!+2!+3!+。。。+n!的值,其中n值由键盘输入

2024-11-16 00:29:58
推荐回答(3个)
回答1:

#include 
//求n!的值
int func(int n)
{
if(n == 1)
return 1;
else
return n*func(n-1);
}
int main()
{
int n,i,sum=0;
printf("输入n的值: ");
scanf("%d",&n);
if(n<=0)
{
printf("Input Error!\n");
return -1;
}
for(i=1;i<=n;i++)
{
sum+=func(i);
}
printf("1!+2!+3!+...+n!= %d\n",sum);
return 0;
}

示例运行结果:

输入n的值: 3

1!+2!+3!+...+n!= 9

输入n的值: 5

1!+2!+3!+...+n!= 153

回答2:

#include
void main()
{
int a,b,n;
long temp=1,res=0;
scanf("%d",&n);
for(a=1;a<=n;a++)
{
for(b=1;b<=a;b++) temp=temp*b;
res=res+temp;
temp=1;
}
printf("%d",res);
}

回答3:

#include

int main()
{
int n,i;
long long ans=0,ans1=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
ans1*=i;
ans+=ans1;
}
printf("%lld",ans);
return 0;
}
求采纳