用C语言编程1+1/3!+1/5!+……+1/(2n+1)!,精度0.000001注意每个子项的计

用C语言编程1+1/3!+1/5!+……+1/(2n+1)!,精度0.000001注意每个子项的计算用函数实现考虑数据溢出

第1个回答  2015-11-11
#include "stdio.h"
int main()
{
float sum=0,t=1.0;
int i=1;
for(i=1;t<1e6;i+=2)
{
sum+=1.0/t;
t*=(i+1)*(i+2);
}
sum+=1.0/t;
printf("%lf\n", sum);
return 0;
}追问

t小于1e6是什么意思

追答

t0.000001

本回答被网友采纳

1+1\/3!+1\/5!+……+1\/(2n+1)!,直到最后一项小于0.000001,并统计一...
}while(a>=0.000001);\/\/直到当前项a>=0.000001结束循环 cout<<"1+1\/3!+1\/5!+……+1\/(2n+1)!="<<s<<",m="<<n\/2+1<<endl; \/\/n\/2+1为当前项数 return 0;} 运行结果和C语言的是一样的。

编程计算1+1\/3!+1\/5!+⋯+1\/(2n+1)!,直到最后一项小于0.000001,并统计...
long Fact(int n);int main(){ int i = 1, j;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;i...

C语言编程 求自然数e=1+1\/3+1\/5+1\/7+…+1\/n,到最后一项绝对值小于10的...
e= ∑1\/k!k=o

...e=1+1\/1!+1\/2!+1\/3!+...+1\/n! 当1\/n!<0.000001时e=2.71828
printf("e=1+1\/1!+1\/2!+1\/3!+...=%f",sum);}

...1\/2!+1\/3!-1\/4!...(-1)^(n-1)*1\/n!,最后一个精度为0.000001
int i = 0,num=1,sign = 1;double sum=0.0;for(i=1;;i++){ if((1.0\/num)<0.00000001)break;else sum+=(1.0\/(num*=i))*sign;sign = -sign;}

c语言 圆周率 公式 4*(1-1\/3+1\/5-1\/7+……+1\/10001)
sign=1;fpi=0.0;do { ftmp=1.0\/i;fpi=fpi+4*sign*ftmp;i=i+2;sign = -sign;} while (4 ftmp > 0.000001);\/\/当某一项小于0.000001就结束循环,这个数设置越小,精度就越高,这里精确到小数点后5位了。\/\/可以根据需要调整,加一个0,就增加1位精度.printf("pi is :%.10f\\n",...

...+……,计算π的近似值,当某一项的值小于0.000001为止。谢!_百度知 ...
void main(){ long a=0;int b=1,i=1;\/\/b为级数每个单项的分母值,i为加减指示器.while(1\/b>0.000001){ if(i){a+=1\/b;i--;} else{a-=1\/b;i++;} b+=2;} cout<<"所求的的近似值是:"<<4*a<<endl;} \/\/以上Soucefile请在Win32 Application中使用,本人所用平台为VC++6....

...1\/11+……的值,直到最后一项的绝对值小于0.000001为止?
C代码和运行结果如下:输出符合样例,望采纳~附源码:include <stdio.h> int main() { double s = 0;int i, sign = 1; \/\/ sign表示正负号 for (i = 1; 1.0 \/ i >= 0.0000001; i += 2) { s += sign * 1.0 \/ i;sign = -sign;} printf("%lf\\n", s);return 0;} ...

c语言中,求e的值,e=1+1\/1!+1\/2!+1\/3!+1\/4!+...。
include "stdio.h"main(){ int i;double e=1,j=1,s=0;for(i=1;i<50;i++){ j*=i;e+=1\/j;} printf("e=%f\\n",e);i=1;j=1;while(1\/j<0.000001){ j*=i++;e+=1\/j;} printf("e=%f\\n",e);}

...一项的值小于0.000001为止。通项公式是n!\/(2n+1)!
include <stdio.h>int main(void){ double sum,t; int i; for(sum=0,t=i=1;t>=1.0E-6;i++) t*=i,(t\/=(i+i+1.0))\/=(i+i),sum+=t; printf("The result is %g\\n",t); return 0;}

相似回答