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

如题所述

编写用于求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
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-05-07
#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();
}本回答被提问者采纳
第2个回答  2009-05-07
#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;
}
第3个回答  2009-05-07
#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);
}
相似回答