|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
根据公式 派/4 = 1 - 1/3 + 1/5 - 1/7 ....... 求派的近似值,并确定精度。我的程序输出一个负的很大的数,而且从如果从for的那行开始调试此时a 的值就是那个负的很大的数,而且我按F10想往下调试的时候就谈出来一个窗口不知道说的的是什么就是不让往下调试了。请大佬帮我看一下哪里错了谢谢。
#include<stdio.h>
void main()
{
int x, y = 3, z = 3;
double a, panduan, pai;
for(a=1.0;panduan>=0;y = y + 2)
{
if(z%2!=0) //-----------------------------------------------------------------判断正负号
{
a = a - 1/y;
z++;
}
else
{
a = a + 1/y;
z++;
}
pai = a*4;
x =(int)pai;
panduan = 1000000*a - 1000000*x; //------------------------------------------限定精度
}
printf("%lf\n",pai);
}
- #include <stdio.h>
- int main(void)
- {
- double b , pi ;
- int e , k ;
- for(pi = 0.0 , e = 1 , k = 1 , b = 1.0 ; b > 1e-8 ; k += 2) {
- b = 1.0 / k ;
- pi += b * e ;
- e = - e ;
- }
- printf("pi = %.6lf\n" , pi * 4) ;
- return 0 ;
- }
复制代码
编译、运行情况:
- C:\Bin>g++ -o x x.c
- C:\Bin>x
- pi = 3.141593
- C:\Bin>
复制代码
|
|