用C语言程序编写:1+1/3!+1/5!+........+1/n!

如题所述

第1个回答  2012-06-21
#include <iostream>
using namespace std;
int fun(int n)
{
int i,c;
for (c=1,i=2;i<=n;++i)
c*=i;
return c;
}

int main()
{
int i,n;
double sum;
scanf("%d",&n);
for (sum=0,i=1;i<=n;i+=2)
sum+=1.0/fun(i);
printf("%f",sum);
return 0;
}本回答被网友采纳
第2个回答  2012-06-21
#include "stdio.h"

double foo(int n)
{
int i;
double rtn = 1.0;
double tmp = 1.0; // 保存上一次的1/n!的值
for (i = 3; i <= n; i += 2)
{
tmp *= (1.0 / i) * (1.0 / (i - 1));
rtn += tmp;
}
return rtn;
}

void main()
{
int n;
scanf("%d", &n);
if (n % 2 == 0)
printf("input error");
else
printf("%.10f\n", foo(n)); // 10表示小数的长度,可修改
}
第3个回答  2012-06-21
#include<stdio.h>
void main()
{
int n;
double sum;
printf("请输入 n:");
while(scanf("%d",&n)==1)//可以不断的输入N的值
{
sum=0;
if(n==0)
break;//当n=0.退出
for(int i=1;i<=n;i++)
{
sum=sum+1.0/(i*2-1);//计算和
}
printf("sum=%.6f\n",sum);
}
}
第4个回答  2012-06-21
int sum=0,temp=1,i,j;
for(i=1;i<=n;i=i+2)
{
for(j=1;j<=i;j=j+2)
{
temp=temp*j;}
sum=sum+(1/temp);}
大概是这样吧。我没检查

用C语言程序编写:1+1\/3!+1\/5!+...+1\/n!
int fun(int n){ int i,c;for (c=1,i=2;i<=n;++i)c*=i;return c;} int main(){ int i,n;double sum;scanf("%d",&n);for (sum=0,i=1;i<=n;i+=2)sum+=1.0\/fun(i);printf("%f",sum);return 0;}

C语言编程1+1\/1!+1\/3!+1\/5!...+1\/n!直到n<10^-5
我就当1\/n!<10^-5了。也就相当于n是奇数而且n!>10^5为止。由于这么多小数的计算不好精确实现,可以把式子改写为:(1+1\/1!+1\/3!+1\/5!...+1)*n!\/n!即 (n*...1+n*...*2+n*...*4+n*...*6+...+n+1) \/n!,先求出 S=n*...1+n*...*2+n*...*4+n*......

C语言编程 求自然数e=1+1\/3+1\/5+1\/7+…+1\/n,到最后一项绝对值小于10的...
int n=1;et=1.0;\/\/et=1\/(2n-1),即每次的增量 while(et>ER){ e+=et;n++;et=1.0\/(2*n-1);} printf("e=%f",e);printf("\\npress any key to exit:\\n");getch();return(0);} 补充,递增的部分明显是1\/(2n-1),而不是1\/n。同时附上自然对数e的程序:include "stdio....

c语言 1+1\/3+1\/5+...1\/n=? 输入n
while(i<=n){ sum+=1.0\/i;i+=2;} 应该就可以了,i==n的时候还是需要计算一次的

C语言编程 采纳 1+1\/3+1\/5+...+1\/2n-1
include <stdio.h>int main(){ double ans = 0.0; int n, i; scanf ("%d", &n); for (i = 1; i <= n; ++i){ ans += 1.0 \/ (double)(2*i-1); } printf ("%lf\\n", ans); return 0;} ...

怎样用C语言编程计算1+ 1\/2+ 1\/3 +...+ 1\/n?
for(i=1;i<=n;i++)sum+=(float)1\/i;printf("前n项和为sum=%.4f\\n",sum);return 0;} K&R C 起初,C语言没有官方标准。1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。布莱恩·柯林汉(Brian Kernighan) 和 丹尼斯·里奇(Dennis Ritchie) 出版了一本书,名叫《The C ...

1+1\/3!+1\/5!+……+1\/(2n+1)!,直到最后一项小于0.000001,并统计一...
运行结果:1+1\/3!+1\/5!+……+1\/(2n+1)!=1.175201,m=7 下面是C++语言的 include<iostream> using namespace std;int main(){ int n=1;long m=1;double s=0,a;do { a=1.0\/m; \/\/求当前项 s=s+a; \/\/当前项加到s上 m=m*(++n)*(++n);\/\/求下一项的分母x*(n+1...

C语言编程:用while循环求1+1\/3+1\/5+1\/7+1\/9+...+1\/(2n-1)的值。n由...
include "stdio.h"int main(int argc,char *argv[]){ int n,m;double s;printf("Enter n(int n>0)...\\nn=");if(scanf("%d",&n)==1 && n>0){ printf("s(%d) = ",n);s=m=0;while(n--)s+=1.0\/(++m)++;printf("%f\\n",s);} else printf("Input error, exit......

C语言编程 求自然数e=1+1\/3+1\/5+1\/7+…+1\/n,到最后一项绝对值小于10的...
main(){ float sum=0;int t=1,k=1;do{ sum+=t\/k;t*=-1;k+=2;}while(fabs(sum)>=0.00001);inlcude "iostream.h"\/*程序没有数据流的输入和输出不需要用这个*\/ main { k=3,sun=1,t=1;;\/*这个应进行数据类型的定义*\/ while((1\/k)>0.00001){ t=t*(-1);sun=sun+t*(1...

编程计算1+1\/3!+1\/5!+⋯+1\/(2n+1)!,直到最后一项小于0.000001,并统计...
float sum = 1;while (1.0 \/ Fact(i) >= 0.000001){ i += 2;sum += 1.0 \/ Fact(i);} j = 1 + (i - 1) \/ 2;printf("计算结果为%f\\n", sum);printf("一共用了%d项\\n", j);} long Fact(int n){ long ans;if (n > 0){ ans = n * Fact(n - 1);} else...

相似回答
大家正在搜