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

如题所述

#include <stdio.h>
//求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

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-04
#include<stdio.h>
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);
}本回答被网友采纳
第2个回答  2016-10-27
#include<stdio.h>

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;
}
求采纳

用c语言编程实现求1!+2!+3!+。。。+n!的值,其中n值由键盘输入
的值int func(int n){if(n == 1)return 1;elsereturn 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...

C语言编程 计算1!+2!+3!+...+n!的值,其中n的值通过键盘输入
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+...

c语言求1!+2!+3!+...+n!的值.n由键盘输入
结论是,C语言中计算1!+2!+3!+...+n!的值时,需要注意n的取值范围不能超过13,否则可能会因数据溢出导致结果不准确。以下是两种计算方法的简化版代码:首先,直接使用循环进行累加:当需要计算1到n的阶乘之和,确保输入的n小于或等于13,以避免溢出。以下代码片段展示了这种方法:includeintmain(){...

c语言 求1!+2!+3!+...+n!的值.n由键盘输入怎么写?
include\\x0d\\x0avoid main()\\x0d\\x0a{int i,n;\\x0d\\x0a int m=1;\\x0d\\x0a int sum=0;\\x0d\\x0a printf("请输入n的值:");\\x0d\\x0a scanf("%d",&n);\\x0d\\x0a for(i=1;i<=n;i++)\\x0d\\x0a {\\x0d\\x0a m=m*i;\\x0d\\x0a sum=sum+m;\\...

c语言 求1!+2!+3!+...+n!的值.n由键盘输入
n的值不能超过13,否则会因为数据溢出而导致结果错误。include <stdio.h> int main(){ long i,n,m,sum=0 scanf("%d",&n);for(i=m=1;i<=n;i++);{ m*=i;sum+=m;} printf("%d\\n",sum);return 0;} 例如:include <stdio.h> \/* 通过递归计算一个数的回阶乘 *\/ int...

C语言 求1!+2!+3!+… +n! , 其中n由键盘输入。
*\/ 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;} ...

用C语言编写程序:求s=1!+2!+3!+……+n!(n由键盘输入)
include<stdio.h> main(){ int i,n,s,sum;sum=0;s=1;scanf("%d",&n);for(i=1;i<=n;i++)s*=i;sum+=s ;printf("%d\\n",sum);getch();} 编译通过且符合题意

C语言编程题。计算1!+2!+3!+…+n!的值,n从键盘输入(用函数完成阶乘计算...
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)...

c语言求s=1!+2!+3!+…+n!(n由输入决定)。求大神能详细解读一下这个程...
第一二行代码:int i,j,n;long int t=1,sum=0;\/\/定义了三个整数型(短整型)的变量,定义两个长整整型变量并初始化。第三行代码:printf("input n:",&n);\/\/提示输入。第四行代码:scanf("%d",&n);利用scanf()函数输入n。第五行代码:for (i=1;i<=n;i++)\/\/进入for循环,外部...

C语言,从键盘输入N,求1+2+3+...+n的结果并输出。麻烦帮我编下。
include <stdio.h> int main(){ int n, s = 0;scanf("%d", &n);while(n!=0) s+= n--;printf("%d", s);return 0;}

相似回答