#include <stdio.h>#include <math.h>int main(){ int s,n; double t,pi; pi=0; n=1; s=1; t=1; for(;n<=1001;) { pi=pi+t; n=n+2; s=-s; t=s/n; } printf("pi=%f\n",pi); return 0;}
#include <stdio.h>
int main()
{ int s,n;
double t,pi;
pi=0; n=1;
s=1; t=1;
for(;n<=1001;)
{pi=pi+t;
n=n+2;
s=-s;
t=(double)s/n;
}
printf("pi=%lf\n",4*pi);
return 0;
}
追é®å¤§å¥
t=(double)s/n;è¿é为ä»ä¹è¦å 个double
äºä¸ªæ´æ°ç¸é¤çåï¼ä»æ¯æ´æ°åã
1/3æ¯çäº0çå
温馨提示:答案为网友推荐,仅供参考
第1个回答 2017-03-11
printf("pi=%f\n",4*pi);追问
这不是重点重点是我算出来总是等于1.0
追答t=(double)s/n;
s、n都是int型,相除结果为int型,先把s强制转换为double再除