根據數學公式求圓周率pi的近似值

pi/4≈1-1/3+1/5-1/7+……,直到某一項的絕對值小於0.000001.

第一次:

我的思路是用for循環

#include "stdafx.h"

#include<stdio.h>

void main()

{

int i;

int n;

int sign=1;

float t,c=1.0,b,pi;

for(i=1;;i++)

{

sign=-sign;

n=2*i+1;

b=1.0/n;

if(b<1e-6)break;

c=c+sign*b;

}

pi=4*c;

printf("%f",pi);

第二次:

#include "stdafx.h"

#include<stdio.h>

#include<math.h>

void main()

{

int i;

int n;

int sign=1;

float t,c=1.0,b,pi;

for(i=1;;i++)

{

sign=-sign;

n=2*i+1;

b=sign*1.0/n;

c=c+b;

if(fabs(b)<1e-6)break;


}

pi=4*c;

printf("%f\n",pi);

}

第一次運行結果出現錯誤,是沒有對c賦初值的原因


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章