⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 5_04.c

📁 浙大颜晖视频课件
💻 C
字号:
/*【例5-4】 输入精度e,使用格里高利公式求π的近似值,精确到最后一项的绝对值小于e。要求定义和调用函数funpi(e)求π的近似值。*/
                
/*  用格里高利公式计算π的近似值,精度为e  */
#include <stdio.h>
#include <math.h>
int main(void)
{
	   double e, pi;     				/* e 代表精度 */
	   double funpi(double e);			/* 函数声明 */

    	printf("Enter e:");				/* 提示用户输入精度 */
	   	scanf("%lf", &e);
	   	pi = funpi(e);					/* 调用函数,把返回值赋值给pi */
		printf ("pi = %.4f\n", pi);
		return 0;
}
double funpi(double e)					/* 定义计算pi的函数 */
{
		int denominator, flag; 
		double item, sum;

		flag = 1;       				/* flag 表示第 i 项的符号,初始为正 */
		denominator = 1;				/* denominator表示第 i 项的分母,初始为1 */
		item = 1.0;        				/* item 中存放第 i 项的值,初值取 1 */
		sum = 0;            			/* 置累加和 pi 的初值为0 */

    /*  当|item| ≥ e时,执行循环 */
		while(fabs(item) >= e){   
			item = flag * 1.0 / denominator;    	/* 计算第 i 项的值 */
			sum = sum + item;        				/* 累加第 i 项的值 */
			flag = -flag;   	 					/* 改变符号,为下一次循环做准备 */
			denominator = denominator + 2;			/* 分母递增2 ,为下一次循环做准备 */
		}
		return sum * 4;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -