7个回答
展开全部
#include<stdio.h>
int js(int in_int)
{
if (in_int==1)
return in_int;
else
return(js(in_int-1)*in_int);
}
void main()
{
int n;
int i;
float sum=0.00;
while (1)
{
printf("请输入(1-1/2!+1/3!-1/4!+……+1/n!)的n:");
scanf("%d",&n);
fflush(stdin);
if ( n>0 ) break;
else printf("\nERROR:错误,输入有误,重新输入!\n");
}
for(i=1;i<=n;i++)
{
printf("[%d]%f,%f\n",i,sum,1.00/js(i));
if (i%2==0) sum=sum-1.00/js(i);
else sum=sum+1.00/js(i);
}
printf("1-1/2!+1/3!-1/4!+……+1/n!=%f\n",sum);
}
int js(int in_int)
{
if (in_int==1)
return in_int;
else
return(js(in_int-1)*in_int);
}
void main()
{
int n;
int i;
float sum=0.00;
while (1)
{
printf("请输入(1-1/2!+1/3!-1/4!+……+1/n!)的n:");
scanf("%d",&n);
fflush(stdin);
if ( n>0 ) break;
else printf("\nERROR:错误,输入有误,重新输入!\n");
}
for(i=1;i<=n;i++)
{
printf("[%d]%f,%f\n",i,sum,1.00/js(i));
if (i%2==0) sum=sum-1.00/js(i);
else sum=sum+1.00/js(i);
}
printf("1-1/2!+1/3!-1/4!+……+1/n!=%f\n",sum);
}
展开全部
#include<stdio.h>
#include<math.h>
void main(void)
{
double t,e,n;
e=0;t=1;n=1;
while(n<4)//计算n位
{
t=t*(1/n);
e=e+t*pow(-1,n-1);
n=n+1;
}
printf("%f",e);
}
说明:
1,1/2!,1/3!....这个数列,第n是t,那么下一项就是t*(1/n);
pow(-1,n-1),就控制了奇数项加,偶数项减
e是结果,每次累加
#include<math.h>
void main(void)
{
double t,e,n;
e=0;t=1;n=1;
while(n<4)//计算n位
{
t=t*(1/n);
e=e+t*pow(-1,n-1);
n=n+1;
}
printf("%f",e);
}
说明:
1,1/2!,1/3!....这个数列,第n是t,那么下一项就是t*(1/n);
pow(-1,n-1),就控制了奇数项加,偶数项减
e是结果,每次累加
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int i,n,a,b=1,s=1; //n定义也好,输入也好,自己处理
float sum=0;
for(i=1;i<=n;i++)
{
b*=i; //这个b是阶乘
sum+=1.0/b*s;
s*=-1; //这个是正负号
}
float sum=0;
for(i=1;i<=n;i++)
{
b*=i; //这个b是阶乘
sum+=1.0/b*s;
s*=-1; //这个是正负号
}
追问
您的回答能详细完整点么,感觉跟我想要的答案很接近 谢谢
追答
非要我把整个程序写完啊,中心代码已经完成了
只要加上头尾,输入输出就好了
main()
{
int i,n,b=1,s=1;
float sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
b*=i; //这个b是阶乘
sum+=1.0/b*s;
s*=-1; //这个是正负号
}
printf("%f\n",sum);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这不仅仅是一道C语言题吧,不要题目要求用C语言做,就得老老实地完全用代码去逐个计算(由于精度问题,这样是计算不出来的),这个表达式也就是一个高中的数列题,先化简大概是这样的:Sn=1-(n!-1)/((n+2)*n!)
然后根据n值进行分析:
1. 如果n很大,接近无穷,此表达式的值就接近:1
2. 如果n比较小,则可以用一个函数计算n!,然后带入到表达式即可计算整个表达式的值
C语言实现小数n的阶乘很简单,就不在这里写了,您自己实现吧,希望对你有所帮助!
然后根据n值进行分析:
1. 如果n很大,接近无穷,此表达式的值就接近:1
2. 如果n比较小,则可以用一个函数计算n!,然后带入到表达式即可计算整个表达式的值
C语言实现小数n的阶乘很简单,就不在这里写了,您自己实现吧,希望对你有所帮助!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
int main()
{
int i=1,n=1;
int num;
double sum=0;
printf("请输入一个数:");
scanf("%d",&num);
while(n<=num)
{
sum=sum+i*1.0/n;
i=i*(-1);
n++;
}
printf("sum=%lf\n",sum);
return 0;
}
int main()
{
int i=1,n=1;
int num;
double sum=0;
printf("请输入一个数:");
scanf("%d",&num);
while(n<=num)
{
sum=sum+i*1.0/n;
i=i*(-1);
n++;
}
printf("sum=%lf\n",sum);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询