C语言入门 -- 计算π (2021/1/7)

计算π

从无穷级数计算π的值

C语言入门 -- 计算π (2021/1/7)_第1张图片
循环需要使用for语句。打印一张表格,其中显示π值由该系列的一项、两项、三项等近似。当你第一次得到3.14,3.141,3.1415时,输出这个系列中有多少项。
(提示:–1时间本身奇数的次数是–1,而–1时间本身偶数的次数是1;4/5的结果是整数值0,所以您应该在程序中使用4.0/5.0。)

以下代码显示得到3.14、3.141、3.1415时有多少项,想得到3.14159可以类比此方法。

/*
  Name:programme2.c
  Author:祁麟
  Copyright:BJTU | school of software
  Date:2020/10/26 
  Description:Calculate the value of π from the infinite series
*/

#include
#include

int main(){
     
    long i,j,TERM;
    double pi,a,term,sign;
    printf("please enter the term's limit:\n");
    scanf("%ld",&TERM);

    //打印用户给出的项的限制时的表格 
	for(i=1; i<=TERM; i++) {
     
        sign=1.0;
        pi=0.0;
        a=1.0;
        term=1.0;
        j=1;
        while(j<=i){
     
            pi=pi+term;
            a=a+2;
            sign=-sign;
            term=sign/a;
            j++;
        }
        pi=pi*4.0;
        printf("term%-10ldpi:%.8lf\n",i,pi);    
     }
    printf("***************************\n");
    
    //计算当pi可近似为3.14时的项数 
	for(i=1; i<=1000; i++) 
    {
     
        sign=1.0;
        pi=0.0;
        a=1.0;
        term=1.0;
        j=1;
        while(j<=i){
     
            pi=pi+term;
            a=a+2;
            sign=-sign;
            term=sign/a;
            j++;
        }
        pi=pi*4.0;
            
         if(pi>=3.135&&pi<=3.144)
          {
     printf("pi=3.14       term=%ld\n",i);
          break;
          }
     }
    
    //打印当pi可近似为3.141时的项数 
    for(i=1; i<=10000; i++) {
     
        sign=1.0;
        pi=0.0;
        a=1.0;
        term=1.0;
        j=1;
        while(j<=i){
     
            pi=pi+term;
            a=a+2;
            sign=-sign;
            term=sign/a;
            j++;       
        }
        pi=pi*4.0;
         if(pi>=3.1405&&pi<=3.1414)
          {
     printf("pi=3.141      term=%ld\n",i);
          break;}
     }
    
	//打印当pi可近似为3.1415时的项数 
	for(i=1; i<=1000000; i++){
     
        sign=1.0;
        pi=0.0;
        a=1.0;
        term=1.0;
        j=1;
        while(j<=i){
     
            pi=pi+term;
            a=a+2;
            sign=-sign;
            term=sign/a;
            j++; 
        }
        pi=pi*4.0;
         if(pi>=3.14145&&pi<=3.14154)
          {
     printf("pi=3.1415     term=%ld\n",i);
          break;}
     }
    return 0;
}

运行截图:
C语言入门 -- 计算π (2021/1/7)_第2张图片

C语言入门 -- 计算π (2021/1/7)_第3张图片

你可能感兴趣的:(C语言入门,c语言,程序设计)