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

作者&投稿:载委 (若有异议请与网页底部的电邮联系)
编写程序,计算1!+2!+3!+……+n!的值,其中n的值由键盘输入。~

#includeusing namespace std;void J(int x); \\其中J为进行以上计算的函数;void main() \\主函数开始{int n;cout>n;J(n);cout0) \\等于0直接sum=0,大于0执行递归函数{ while(x>0) { sum1=sum1*x; \\sum1是记录阶乘变量; x=x-1; J(x); \\递归函数调用 } sum=sum+sum1; \\累加每次的结果 }cout<<"计算结果为"<<sum<<endl;}可能有错误,你在看看吧,反正利用递归就行。

#include"iostream.h"
#include"windows.h"
void main()
{
int A(int n);//递归求阶乘
cout<<"请输入N值:";
int i,N,sum=0;
cin>>N;
if(N>0)
{
for(i=N;i>=1;i--)
{
sum+=A(i);
}
cout<<"结果:"<<sum<<endl;
}
else
cout<<"N必须为正整数!
";
system("pause");
}
int A(int n)
{
if(n>1)
return A(n-1)*n;
if(n==1)
return 1;
}

编写用于求1!+2!+3!+…+n!
1、C程序
#include<stdio.h>
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<iostream.h>
void main()
{
int i;
float n=1,sum=0;
for(i=1;i<=20;i++)
{
n=n*i;
sum=sum+n;
}
cout<<sum<<endl;
}
来源http://zhidao.baidu.com/question/93376877.html?si=7

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

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

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