怀念的季节


私信TA

用户名:uq_58500831749

访问量:2390

签 名:

等  级
排  名 1523
经  验 2809
参赛次数 0
文章发表 76
年  龄 22
在职情况 学生
学  校
专  业 计算机科学与技术

  自我简介:

解题思路:

注意事项:

参考代码:

/*

pi的计算公式:

pi/4=1-1/3+1/5-1/7+...


1) 控制每一项的正负:

方法一: k=1;k*=-1;

方法二: k=0;pow(-1,k); 

2) 控制每一项是一个小数

方法一:分子为小数  double k=1;double k=0;

方法二:分母为小数 double i=1;

注:除法运算结果为小数,分子和分母中必然一个为浮点型数据

3) 保留6为小数:

方法一:printf("%lf",4*res);

方法二:printf("%f",4*res);

方法三:cout <<fixed <<4*res;  //加上头文件#include<iomanip>

方法四:cout <<setioflags(ios::fixed) <<4*res;

4) 本题结果:3.141591

实际pi值:3.14159265... 

*/ 


#include<iostream>

#include<cmath>    //pow()函数所处头文件 

#include<iomanip>  //fixed所处头文件 

using namespace std;


int main()

{

    double res=0,k=1;

    int i=1;

    while(1.0/i>=1e-6)

    {

        res+=k/i;

        k*=-1;

        i+=2;

    }

    //printf("%lf\n",4*res);  //输出结果:3.141591 

    printf("%f\n",4*res);

    //cout <<4*res <<endl;   //输出结果,只有5位小数

    //cout <<setiosflags(ios::fixed) <<4*res <<endl; //输入结果,六位小数

    //cout <<fixed <<setprecision(6) <<4*res <<endl;  //输入结果,六位小数

 

    return 0;

    }


 //int main()

//{

        // double res=0;

        // int k=1;

        // for(int i=1;1.0/i>=1e-6;i+=2)

        // {

                // res+=k*1.0/i;

                // k*=-1;

        // }

        // printf("%lf\n",4*res);

        // return 0;

//}


//int main()

//{

//    double res=0,i;

//    int j=0;

//    for(i=1;1/i>=1e-6/*fabs(1/i)>=pow(10,-6)*/;i+=2,j++)

//    {

        //    res+=pow(-1,j)/i; 

   // }

    // printf("%.6lf\n",4*res);

    // return 0;

//}


 

0.0分

0 人评分

  评论区

  • «
  • »