考试题

题目

求pi的近似值,用π/4=1-1/3+1/5-1/7+1/9-……这条公式来计算

解答

#include 
int main()
{
    int i,n=1;
    double sum=0,tmp=0,pi=0;//修正:float精度太小,应用double
    for(i=1;i;i++)
    {
        tmp=sum;
    
        if(i%2==0)
        {
            sum-=1/(double)n;
        }
        else
        {
            sum+=1/(double)n;
        }
            n=n+2;
        if((sum-tmp)<0.00000001)//只想到了sum>tmp的情况,没想到sum-tmp为负值的情况。切记不要忘了!!!!!!(35分的题就因为这个  一直答案出来不到 切记)
            if((sum-tmp)>-0.00000001)
                break;
    }
    pi=sum*4;
    printf("%.8f",pi);
    return 0;
}

你可能感兴趣的:(考试题)