编写程序,计算1!+2!+3!+……+n!的值,其中n的值由键盘输入。

如题所述

#include<iostream>using namespace std;void J(int x); \\其中J为进行以上计算的函数;void main() \\主函数开始{int n;cout<<"请输入n的大小";cin>>n;J(n);cout<<"完成计算"<<endl;} \\主函数结束;void J(x) \\主函数定义;{int sum=0,sum1=1; \\定义sum为存储累加结果的变量while(x>0) \\等于0直接sum=0,大于0执行递归函数{ while(x>0) { sum1=sum1*x; \\sum1是记录阶乘变量; x=x-1; J(x); \\递归函数调用 } sum=sum+sum1; \\累加每次的结果 }cout<<"计算结果为"<<sum<<endl;}可能有错误,你在看看吧,反正利用递归就行。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-30
#include <stdio.h>
void main()
{
long i,n,p=1,s=0;
scanf("%ld",&n);
for (i=1;i<=n;i++){p*=i;s+=p;}
printf("%ld\n",s);
}本回答被网友采纳
第2个回答  2018-03-20
#include<stdio.h>
void main() { double s,t; int i,n;
  scanf("%d",&n); s=0; t=1;
  for ( i=1;i<=n;i++ ) { t*=i; s+=t; }
  printf("%.0lf\n",s);
}

相似回答