计算 S=1!- 2!+3!-4!+5!-6!+7!…-10!的值。(需至少使用一个自定义函数)
答案:2 悬赏:0 手机版
解决时间 2021-02-13 03:08
- 提问者网友:练爱
- 2021-02-12 14:09
计算 S=1!- 2!+3!-4!+5!-6!+7!…-10!的值。(需至少使用一个自定义函数)
最佳答案
- 五星知识达人网友:北城痞子
- 2021-02-12 14:27
#include
long fact(int n) ////求阶乘
{
if(n==1) return 1;
return n*fact(n-1);
}
long sum(int n) //求和函数
{
int sign; long S=0;
for(sign=-1;n>0;n--)
{
S+=sign*fact(n);
sign*=sign;
}
return S;
}
int main()
{
int n=10;
printf("1!- 2!+3!-4!+5!-6!+7!…-10!的值是%d",sum(n));
getchar();
return 0;
}
long fact(int n) ////求阶乘
{
if(n==1) return 1;
return n*fact(n-1);
}
long sum(int n) //求和函数
{
int sign; long S=0;
for(sign=-1;n>0;n--)
{
S+=sign*fact(n);
sign*=sign;
}
return S;
}
int main()
{
int n=10;
printf("1!- 2!+3!-4!+5!-6!+7!…-10!的值是%d",sum(n));
getchar();
return 0;
}
全部回答
- 1楼网友:我住北渡口
- 2021-02-12 16:00
#include <stdio.h> float fac(float k) { float i,f=1; for(i=2;i<=k;i++) f=f*i; return (f); } void main () { float s=0,b=1,c=1,d=1; //s,d初始化 while (d>=1e-7) //这个应该是打印 { c=-c; d=1/fac(2*b+1); s+=1+c*d; b++; } printf("s=%f",s); }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯