C语言编程题。计算1!+2!+3!+…+n!的值,n从键盘输入(用函数完成阶乘计算)

如题所述

#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必须为正整数!\n";
system("pause");
}
int A(int n)
{
if(n>1)
return A(n-1)*n;
if(n==1)
return 1;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-07
#include<stdio.h>
int fun(int a)
{
int i=1,sum=1;
while(i<=a)
{
sum*=i;
i++;
}
return sum;
}
main()
{
int n,i=1,sum=0;
printf("请输入n的值:");
scanf("%d",&n);
while(i<=n)
{
sum+=fun(i);
i++;
}
printf("结果是:%d\n",sum);
}
第2个回答  2020-07-13
#include<bits/stdc++.h>
using namespace std;
unsigned long long n,a[100000001],b[100000001],lb,la=1,x,x1;
int main()
{
cin>>n;
a[1]=1;
for(int i=1;i<=n;i++)
{
x=0;
for(int j=1;j<=la;j++)
{
a[j]=a[j]*i+x;
x=a[j]/10;
a[j]%=10;
}
while(x>0)
{
la++;
a[la]=x%10;
x/=10;
}
lb=la;
x1=0;
int k;
for(k=1;k<=lb;k++)
{
b[k]+=a[k]+x1;
x1=b[k]/10;
b[k]%=10;
}
b[k]=x1;
}
for(int i=la;i>=1;i--) cout<<b[i];
return 0;
}
第3个回答  2010-04-02
void main()
{
long t=1,sum=0;
int i,n;
printf("enter n:\n",&n)
for(i=1;i<=n;i++)
{
t=t*i;
sum+=t;
}
printf("%d!=%ld\n",n,sum);
}

就是这样,希望对你有帮住~
第4个回答  2010-04-02
#include <stdio.h>
int main(void)
{
int n,i,j,k=1,sum=0;
while(scanf("%d",&n)!=EOF)
{
sum=0;
if(n==0)
;
else
for(i=1;i<=n;i++)
{
for(j=i;j>0;j--)
k*=j;
sum+=k;
k=1;
}
printf("\nThe result is %d\n",sum);
}
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网