用c语言求阶乘之和,有注释,主函数用来调用

用c语言求阶乘之和,1!+...n! 有注释,主函数用来调用

#include<stdio.h>

int fac(int n)        //计算n!

{int f=1,i;

 for(i=2;i<=n;i++)

  f*=i;

 return f;

}

int main()

{int n,i,s=0;

scanf("%d",&n);        //读取累加n!的范围

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

  s+=fac(i);        //累加阶乘

  printf("1!+2!+...%d!=%d\n",n,s);        //输出

getch();

return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-15
二楼是正确的答案,不过没有调试。
给你一个调试过的,多输出了几个数字,最后一个是和得结果,呵呵!
#include<stdio.h>
int jc(int n);
void main()
{int n,i,sum=0;
printf("please input n:"); /*请输入n的值*/
scanf("%d",&n); /*将输入的数值放入n的容器*/
for (i=1;i<=n;i++)
sum=sum+jc(i); /*求阶乘之和*/
printf("%d\n",sum);
printf("\n");
}
int jc(int n) /*阶乘函数*/
{int i,j=1;
for(i=1;i<=n;i++)
j=j*i;
printf("%d!=%d",i-1,j);
printf("\n");
return j;
}本回答被提问者采纳
第2个回答  2009-11-29
#include<stdio.h>
void main()
{
long int n,a,t=1,sum=0;
scanf("%d",n); /*输入n的值*/
for(a=1;t<=n; ) /*循环n次,就是加上n项*/
{
sum=sum+a; /*所有项的和*/
t=t+1;
a=a*t; /*变到下一项,就是乘以后面一项*/
}
printf("%ld\n",sum); /*输出结果*/
}

第3个回答  2009-11-29
#include<stdio.h>
void main()
{
long int n,a,t,sum=0;
scanf("%d",n);
for(t=1,a=1;t<=n;t++ )
{
sum+=a; //求和
a*=t;
}
printf("%ld",sum);
}
已经调试,可以使用。
第4个回答  2009-11-29
#include<stdio.h>
int jc(int n)//求阶承的函数
{
int i,t=1;
for(i=1;i<=n;i++)
{
t=t*i;
}
return t;
}
//main函数
int main()
{
int i,n,s=0;//s求和
scanf("%d",&n);//输入n的值
for(i=1;i<=n;i++)//求1!+2!+....n!
{
s=s+jc(i);
}
printf("%d\n",s);
return 0;
}

相关了解……

你可能感兴趣的内容

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