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

如题所述

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

一.递归:

#include <stdio.h>

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 <stdio.h>

int main()

{

int t1=1;

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

{

t1 = t1*i;

}

printf("%d", t1);

return 0;

}

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

得出结果:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-02-23
#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;
}

结果:

第2个回答  2018-02-22
#include<stdio.h>
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
第3个回答  推荐于2018-02-23
计算从1到10各数阶乘的和,即1! + 2! + 3! + …… + 9! + 10! 的和
#include<stdio.h>
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;
}本回答被提问者和网友采纳
第4个回答  2013-06-22
#include<iostream>
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<<"结果是:"<<Sum;
getchar; //显示屏幕停止,不闪退
getchar;
return 0;
}

相关了解……

你可能感兴趣的内容

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