输入精度e,使用格雷戈里公式求π的近似值,精确到最后一项的绝对值小于e

时间:2023-01-15 06:07:34 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
输入精度e,使用格雷戈里公式求π的近似值,精确到最后一项的

绝对值小于e.要求定义

输入精度e,使用格雷戈里公式(π/4=1-1/3+1/5+...)求π的近似值,精确到最后一项的绝对值小于e。要求定义和调用函数funpi(e)π的近似值。

我们这里的e就是我们下文要输入的n的值(精度e),再此程序中我们可以主观输入我们想输入的值,从而规定其格雷戈里公式计算到后面的多少位。

比如在本题中,我主观输入0.0000011e-6),从而得出其输出的值,在结尾printf的输出程序内,我们也可以去改变其小数的精度位数,从而得出更精确的π值(在下面的程序中的π都以pi来表示)。



#include#includedouble funpi(double x){int sign=1;double

n=1.0,term=1.0,pi=0.0; while(fabs(term)>=x){pi=pi+term;n=n+2;sign=-sign;term=sign/n;} return pi;}int main(){double n;printf("输入:"); scanf("%lf",&n);double

pi=0.0; pi=funpi(n);pi=4.0*pi;printf("输出:pi = %.6lf\n",pi);return 0;}



#include #include


double funpi(double x) {

int sign=1;

double n=1.0,term=1.0,pi=0.0; while(fabs(term)>=x) {

pi=pi+term; n=n+2;

sign=-sign; term=sign/n; }

return pi; }

int main() {

double n;

printf("输入:"); scanf("%lf",&n);

double pi=0.0; pi=funpi(n); pi=4.0*pi;

printf("输出:pi = %.6lf\n",pi); return 0; }







运行程序:






本文来源:https://www.wddqw.com/doc/15a925b80a75f46527d3240c844769eae009a3c0.html