编写一个函数计算n!,在主函数中调用该函数求1!+2!+3!+…+10!。 要求:函数要定义在主函数的后面。

用C++编程
确定按照题目回答问题呀。。。。。。。

#include<iostream>

using namespace std;

int factorial(int a);//声明计算阶乘函数

int main()

{

int sum=0,n;

cout<<"请输入n的值"<<endl;

cin>>n;

for(int i=1;i<=n;i++)

{

sum+=factorial(i);//调用函数

}

cout<<"n的阶乘为:"<<sum<<endl;

return 0;

}

int factorial(int a)

{

int result=1;

for(int i=1;i<=a;i++)

result*=i;

return result;

}

输入的n为10时,运行结果如下:

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-09-20
#include<stdio.h>
int Calc(int nResult[],int len,int nNumb);
void main()
{
int nResult[128]={0};   //定义一个长度为512的数组用于保存结果 
int len=1 ; //长度定义?

nResult[0]=1; //数组第一个元素赋值为1
for(int i=2;i<=10;i++){    //阶乘计算
len=Calc(nResult,len,i);//递归 由长度len得len
}

for(int i=len-1;i>=0;i--){
printf("%d",nResult[i]);
}

printf("\n");
getchar();

return;
}
int Calc(int nResult[],int len,int nNumb)
{
int i,rem=0;
for(i=0;i<len;i++){
rem+=nResult[i]*nNumb;
nResult[i]=rem%10;
rem=rem/10;
}
while(rem>0){
nResult[len]=rem%10;
len++;
rem=rem/10;
}
return len;
}

第2个回答  2012-10-31
#include <stdio.h>
void main()
{
double Ni(int n);
double ni= 0.0;

for(int n= 1; n <= 10; n++) ni+= Ni(n);
printf("%lf\n", ni);}
double Ni(int n)
{
double ret= 1.0;

while(n)
{
ret*= n--;
}
// printf("%lf\n", ret);
return ret;
}
第3个回答  推荐于2017-09-20
#include#includelongxx(longx){if(x=1)return1;elsereturnxx(x-1);}intmain(){longsum=0,i;for(i=1;i<=10;i++)sum+=xx(i);printf("%d",sum);return0;}本回答被网友采纳

...+2!+3!+…+10!。 要求:函数要定义在主函数的后面。
int factorial(int a);\/\/声明计算阶乘函数 int main(){ int sum=0,n;cout<<"请输入n的值"<<endl;cin>>n;for(int i=1;i<=n;i++){ sum+=factorial(i);\/\/调用函数 } cout<<"n的阶乘为:"<<sum<<endl;return 0;} int factorial(int a){ int result=1;for(int i=1;i<=a...

1、编写一个函数求n!,然后利用该函数计算1!+2!+3!+…+n!的值。
main(){ int n,i,j,sum1,sum=0,gongzi,hundred,fifty,ten,five,two,one;scanf("%d",&n);for(i=1;i<=n;i++){ sum1=1;for(j=1;j<=i;j++){ for(j=1;j<=i;j++){ sum1=sum1*j;} printf("%d的阶乘为%d\\n",j-1,sum1);} sum=sum+sum1;} printf("1到%d的阶乘和...

C语言编程题。编程题目为 编程计算1!+2!+3!+……+10!的值
include <stdio.h>#define N 10 \/\/定义符号常量\/\/求出每一项阶乘值的函数int fact(int n){ int i; int s; for(i=s=1;i<=n;i++) s*=i; \/\/从1开始循环累加相乘 return s;} int main(){ int s; int i; for(i=1,s=0;i<=N;i++) s+=...

c语言。求1!+2!+3!+……+10!。要求编写求N的阶乘的函数
所谓 n 的阶乘,就是从 1 开始乘以比前一个数大 1 的数,一直乘到 n,用公式表示就是:1×2×3×4×…×(n-2)×(n-1)×n=n!include <stdio.h> int main(){ int i,j,n;double sum=1,k=0;scanf("%d",&n);for(j=1;j<=n;j++){ sum=1;for(i=1;i<=j;i++)sum=su...

写一个求∑n的函数, 在主函数中输入一个整数求出该数的累加和(1+2+3...
c 2.0中一样)include<stdio.h> int sum(int n){ int s=0;for(int i=1;i<=n;i++){ s=s+i;} printf("%d\\n",s);} void main() \/*在turbo c 2.0 中不加void*\/ { int n;printf("请输入要求和的自然数的个数n:\\n");scanf("%d\\n",&n);sum(n);} ...

用函数实现求k !,并在主函数中调用求 sum=1!+2!+3!+……+n!。
int main(void){ int n = 0, i = 0;long sum = 0;printf("Please input a number: \\n");scanf("%d", &n);for (i = 1; i <= n; i++){ sum += factorial(i);} PrintResult(n, sum);return 0;} 例子:Please input a number:20 1!+2!+...+20! = 268040729 Press ...

设计C语言计算1!+2!+3!+...+10!=?
voidmain(){inti,j,n,sum=0;for(i=1;i<=10;i++){ n=1;for(j=1;j<=i;j++)n*=j;/* 将每一项阶乘相加求和。*/ sum+=n;} printf("%d\n",sum);} 本程序采用两层循环实现1到10的阶乘求和运算,使用第一层运算代表该计算式中的10项阶乘,第二层for循环...

...n! 的子过程,调用该过程,计算1!+2!+3!+……+10!之和(10分) 掌_百 ...
Private Sub Command1_Click()s = 0 For i = 1 To 10 s = s + fac(i)Next i Print "1!+2!+3!+...+10!="; s End Sub Function fac(n)f = 1 For i = 2 To n f = f * i Next i fac = f End Function

...的函数,在主函数中调用该函数,求1!+2!+3!+…+n!的和,并输出结果...
include <stdio.h>int factorial(int n){int res = 1;for (int i = 2; i <= n; i++)res *= i;return res;}int main(){int n;scanf("%d", &n);int res = 0;for (int i = 1; i <= n; i++)res += factorial(i);printf("%d\\n", res);return 0;} ...

编写程序求1!+2!+3!+……+10!。要求调用求某个数阶乘的函数。
include <iostream> using namespace std;int Jie(int n){ int a[10];a[0]=1;for(int i=1;i<10;i++){ a[i]=(i+1)*a[i-1];} return a[n-1];} int main(){ int num,answer=0;for(int i=1;i<=10;i++)answer=answer+Jie(i);cout<<answer;return 0;} ...

相似回答