首页 > 电脑

c语言怎么求π

更新时间2019-11-20 17:48:53

改正下列程序中的错误,并给源程序加上注释。该程序求π的值,直到某一项小于10-6(源程序error6_2.c)

输出示例

PI=3.14159   (改正后程序运行结果)

源程序(有错误的程序)

#include <stdio.h>

int fact(int n);

int multi(int n);

main()

{int i;

 double sum,item,eps;

 eps=1E-6;

 sum=1;

 item=1;

 for(i=1;item>=eps;i++)

       {item=fact(i)/multi(2*i+1);

     sum=sum+item;

    }

printf(“PI=%0.5lf ”,sum*2);

return 0;

}

int fact(int n)

{int i;

 int res=1;

 for(i=0;i<=n;i++)

  res=res*i;

return  res;

}

int multi(int n)

{int  i;

 int  res=1;

 for(i=3;i<=n;i=i+2)

   res=res*i;

return  res;

}


#include <stdio.h>
double fact(int n); //注意数据范围
double multi(int n);//注意数据范围
int main() //非标准写法

{
   int i;
   double sum,item,eps;
   eps=1E-6;
   sum=1;
   item=1;
   for(i=1; item>=eps; i++)
       {
           item=fact(i)/multi(2*i+1);
           sum=sum+item;
       }
   printf("PI=%0.5lf ",sum*2);
   return 0;
}

double fact(int n)

{
   int i;
   double res=1;
   for(i=1; i<=n; i++) //必须从1开始的
       res=res*i;
   return  res;
}

double multi(int n)

{
   int  i;
   double  res=1;
   for(i=3; i<=n; i=i+2)
       res=res*i;
   return  res;
}


相关标签:c语言

上一篇:题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

下一篇:(java作业)创建名为MyDB的数据库,用ArrayList存放五个学生对象,每个学生有门课的