knrt.net
当前位置:首页 >> 利用 PI/2=(2/1) * (2/3) * (4/3) * (4/5) * (6/5) * (6... >>

利用 PI/2=(2/1) * (2/3) * (4/3) * (4/5) * (6/5) * (6...

您好,对于两个整型变量,除法的意义为整除若要得到浮点数结果,需要将其中一个通过强制转换运算符转化为浮点数 n = ( double ) ( 4 * i * i ) / ( ( 2 * 1 + 1 ) * ( 2 * 1 - 1 ) )

额 额 额 额 额 额 e1

不明白你的意思,无法帮你了

/************************************************************************//* π/2=2/1*2/3*4/3*4/5*6/5*6/7 求前100项之积计算π的值. *//************************************************************************/#include "stdio.h" void main() { float a=2,b=1; double num=

term=n*n/((n+1)*(n-1));都是整型的运算,会把小数部分省略;应该换成符点型 pi=(pi*n*n)/((n+1)*(n-1)); 或者 float term;//term定义成符点型 term=((float)(n*n))/((n+1)*(n-1)); pi=pi*term;

i 也应该是double型,不然(i*i)/((i-1)*(i+1))的值只会是1.不过你早应该发现了吧

term=n*n/((n+1)*(n-1));都是整型的运算,会把小数部分省略;应该换成符点型PI=(PI*n*n)/((n+1)*(n-1));或者float term;//term定义成符点型 term=((float)(n*n))/((n+1)*(n-1));PI=PI*term;

#include void main(){ double pi=3.00,t=0.00,s=0.00;int i=1,j=1;scanf("%f",&t); //输入精度控制值do{s =4.00/((2*i)*(2*i+1)*(2*i+2));pi+= j*s;i ++;j *=-1; //符号控制}while(s >=t);printf("%f\n",pi);}

j=(2*n)/(2*n-1);//j=(2*n*1.0)/(2*n-1); / 这个除号分子分母若都为整数的话结果会取整,如3/2=1,2/3=0,故要让分子或分母变为浮点型此外循环条件有点问题,你自个在想想

#include <stdio.h>int main(){ double sum=1; double an=1; for(int i=1;i<=1000;i++) { if(i%2==0) an=(double)i/(i+1); else an=(double)(i+1)/i; sum*=an; printf("%f\t",2*sum);//输出每次计算的近似值 } printf("\n所求结果的近似值为:%f\n",2*sum);

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.knrt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com