【在线等】c语言程序:对n的阶乘求和,n=1到10

2024-11-29 22:36:36
推荐回答(5个)
回答1:

分析下程序,阶乘可以用递归做,也可以用循环做,这里就放上这两种代码了。

一.递归:

#include

int f(int t)

{

if (t==1)

return 1;

else

return t*f(t-1);

}

int main()

{

printf("%d\n",f(10));

return 0;

}

程序分析:定义一个f函数,利用递归的特性,进行运算

10*f(9) = 10*9*f(8) …… 直到到1时返回1  

得出结果:

二.循环:

#include

int main()

{

int t1=1;

for(int i=10;i>=1;i--)

{

t1 = t1*i;

}

printf("%d", t1);

return 0;

}

程序分析:直接用一个for循环进行自减即可完成,定义t1用于存储结果

得出结果:

回答2:

#include "stdio.h"
int main(int argv,char *argc[]){
int i,s,t;
for(s=0,t=i=1;i<=10;s+=t*=i++);
printf("1!+2!+3!+...+10! = %d\n",s);
return 0;
}

结果:

回答3:

#include
int main()
{
int i,n,s=0,t=1;
printf("%s\n","请输入要阶乘求和的数");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
t=t*i;
s=s+t;
}
printf("%d的阶乘求和结果是%d\n",n,s);
return 0;
}
在输入界面输入10,按enter,得结果4037913

回答4:

计算从1到10各数阶乘的和,即1! + 2! + 3! + …… + 9! + 10! 的和
#include
int main(void)
{
int sum,i,term;
sum=0;
term=1;
for(i=1;i<=10;i++)
{
term=term*i;
sum=sum+term;
printf("%d的阶乘 %d\n",i,term);
}
printf("1到10各数阶乘的和 %d\n",sum);
return 0;
}

回答5:

#include
int main()
{
using namespace std;
int n,factorial;
int Sum=0;
cout<<"请输入要求得整数:";
cin>>n;
for(int i=1;i<=n;i++)
{
factorial=1;
for(int j=1;j<=i;j++)
{

factorial=factorial*j;
}
Sum=Sum+factorial;
}
cout<<"结果是:"< getchar; //显示屏幕停止,不闪退
getchar;
return 0;
}