c语言计算圆周率113,c语言计算圆周率100位

本文目录一览:

C语言:圆周率的计算

在for循环后加一句: sum -= f;

你多加了最后那个小于epsioon的值。

计算圆周率的C语言程序

#include stdio.h

#define L 10000 //求10000位PI值

#define N L/4+1

// L 为位数,N是array长度

/*圆周率后的小数位数是无止境的,如何使用电脑来计算这无止境的小数是一些数学家与程式设计师所感兴趣的,在这边介绍一个公式配合 大数运算,可以计算指定位数的圆周率。

John Wallis的圆周率公式:

//详细看网站介绍:

PI = [16/5 – 16 / (3*53) + 16 / (5*55) – 16 / (7*57) + ……] – [4/239 – 4/(3*2393) + 4/(5*2395) – 4/(7*2397) + ……]

*/

void add ( int*, int*, int* );

void sub ( int*, int*, int* );

void div ( int*, int, int* );

int main ( void )

{

int s[N+3] = {0};

int w[N+3] = {0};

int v[N+3] = {0};

int q[N+3] = {0};

int n = ( int ) ( L/1.39793 + 1 );

int k;

w[0] = 16*5;

v[0] = 4*239;

for ( k = 1; k = n; k++ )

{

// 套用公式

div ( w, 25, w );

div ( v, 239, v );

div ( v, 239, v );

sub ( w, v, q );

div ( q, 2*k-1, q );

if ( k%2 ) // 奇数项

add ( s, q, s );

else // 偶数项

sub ( s, q, s );

}

printf ( “%d.”, s[0] );

for ( k = 1; k N; k++ )

printf ( “%04d”, s[k] );

printf ( “\n” );

return 0;

}

void add ( int *a, int *b, int *c )

{

int i, carry = 0;

for ( i = N+1; i = 0; i– )

{

c[i] = a[i] + b[i] + carry;

if ( c[i] 10000 )

carry = 0;

else // 进位

{

c[i] = c[i] – 10000;

carry = 1;

}

}

}

void sub ( int *a, int *b, int *c )

{

int i, borrow = 0;

for ( i = N+1; i = 0; i– )

{

c[i] = a[i] – b[i] – borrow;

if ( c[i] = 0 )

borrow = 0;

else // 借位

{

c[i] = c[i] + 10000;

borrow = 1;

}

}

}

void div ( int *a, int b, int *c ) // b 为除数

{

int i, tmp, remain = 0;

for ( i = 0; i = N+1; i++ )

{

tmp = a[i] + remain;

c[i] = tmp / b;

remain = ( tmp % b ) * 10000;

}

}

C语言求圆周率

#include stdio.h

int main()

{

    float f;

    double pi,i,sign;

    while(scanf(“%f”,f)==1)

    {

        pi=0;

        i=1;

        sign=1;

        do

        {

            pi+=sign*1.0/i;

        }while(1.0/i=f(sign=-sign)(i+=2));

        printf(“%lf\n”,pi*4.0);

    }

    return 0;

}

C语言计算圆周率

计算溢出了。你的 fact 和 multi 都使用整数保存计算结果,参数稍大一点就超出整数表示范围了,于是溢出变成负数。

你把这两个函数改成 double 类型,内部变量 res 也声明成 double,就能算出正确结果了。

C语言:计算圆周率(精度保留到小数点后6位),用程序实现,公式如下:

#includestdio.h

#includemath.h

int main()

{double pi=1,t=0;

for(;t1.9999999;)

{t=sqrt(2+t);

pi*=2/t;

}

printf(“%lf\n”,pi*2);

return 0;

}

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/307047.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2025-01-02 18:06
下一篇 2025-01-02 18:06

相关推荐

  • AES加密解密算法的C语言实现

    AES(Advanced Encryption Standard)是一种对称加密算法,可用于对数据进行加密和解密。在本篇文章中,我们将介绍C语言中如何实现AES算法,并对实现过程进…

    编程 2025-04-29
  • 学习Python对学习C语言有帮助吗?

    Python和C语言是两种非常受欢迎的编程语言,在程序开发中都扮演着非常重要的角色。那么,学习Python对学习C语言有帮助吗?答案是肯定的。在本文中,我们将从多个角度探讨Pyth…

    编程 2025-04-29
  • Python被称为胶水语言

    Python作为一种跨平台的解释性高级语言,最大的特点是被称为”胶水语言”。 一、简单易学 Python的语法简单易学,更加人性化,这使得它成为了初学者的入…

    编程 2025-04-29
  • OpenJudge答案1.6的C语言实现

    本文将从多个方面详细阐述OpenJudge答案1.6在C语言中的实现方法,帮助初学者更好地学习和理解。 一、需求概述 OpenJudge答案1.6的要求是,输入两个整数a和b,输出…

    编程 2025-04-29
  • Python按位运算符和C语言

    本文将从多个方面详细阐述Python按位运算符和C语言的相关内容,并给出相应的代码示例。 一、概述 Python是一种动态的、面向对象的编程语言,其按位运算符是用于按位操作的运算符…

    编程 2025-04-29
  • Python语言由荷兰人为中心的全能编程开发工程师

    Python语言是一种高级语言,很多编程开发工程师都喜欢使用Python语言进行开发。Python语言的创始人是荷兰人Guido van Rossum,他在1989年圣诞节期间开始…

    编程 2025-04-28
  • Python语言设计基础第2版PDF

    Python语言设计基础第2版PDF是一本介绍Python编程语言的经典教材。本篇文章将从多个方面对该教材进行详细的阐述和介绍。 一、基础知识 本教材中介绍了Python编程语言的…

    编程 2025-04-28
  • Python利用级数计算圆周率

    本文将详细介绍Python利用级数计算圆周率的方法,旨在帮助Python开发者更好地理解级数原理。 一、Leibniz公式计算圆周率 Leibniz公式是一种基于级数的求圆周率的方…

    编程 2025-04-28
  • Python语言实现人名最多数统计

    本文将从几个方面详细介绍Python语言实现人名最多数统计的方法和应用。 一、Python实现人名最多数统计的基础 1、首先,我们需要了解Python语言的一些基础知识,如列表、字…

    编程 2025-04-28
  • Python作为中心语言,在编程中取代C语言的优势和挑战

    Python一直以其简单易懂的语法和高效的编码环境而著名。然而,它最近的发展趋势表明Python的使用范围已经从脚本语言扩展到了从Web应用到机器学习等广泛的开发领域。与此同时,C…

    编程 2025-04-28

发表回复

登录后才能评论