C语言计算pi

来源:百度知道 编辑:UC知道 时间:2024/06/03 20:28:14
要求算法:
pi=4*(1-1/3+1/5-1/7+…)
算到新累加项绝对值(用fabs)小于1e-6时停止。
还需要加上计数器,显示累加了多少次。
我在do{}里面加上count++;
但是出来竟然是个负数……

程序如下:
#include <stdio.h>
int main()
{
double a=1,b=1,c,sum;
int count=0;
do{
c=a/b;
a*=-1;
b+=2;
sum+=c;
count++;
}
while(c>1e-6||c<-1e-6);

printf("pi=%lf\n",4*sum);
printf("After %d times of adding.\n",count);
return 0;
}

以下程序测试无措:

#include<stdio.h>
main(){
double pi=0,i=1,j=1,x;
do{
x=j/i;
j*=-1;
i+=2;
pi+=x;
}while(x>1e-6 || x<-1e-6);
pi*=4;
printf("%lf\n",pi);
}

运行结果是:
3.141595

//欢迎在线讨论
#include <stdio.h>

void main()
{
int i=1;
double sum=0;
while(1.0/i>1e-6)
{
if(((i+1)/2)%2==1)
sum+=1.0/i;
else
sum-=1.0/i;
i+=2;
}
printf("%f",sum*4);
}

#include <math.h>
void main(void){
int i,f;
float pi;
i=1;
f=1;
while(1.0/pi<0.000006){
pi=pi+i*f;
}
pi=pi*4;
printf("pi=%f",pi);
}

ps:未调试

#include"stdio.h"
int main()
{
double pi = 0;
double i = 1.0;
double j = 1.0;
int s = 1;
while(j > 4*1e-6)
{