东华复试上机备考踩坑记-15年第三题

在这里插入图片描述
代码如下:

/*
	求π的近似值
	update 2020/1/17 16:04 
*/
#include<stdio.h>

double fun(double degree) {
	double num = 1, den = 1;// 分子和分母
		// 注:这里如果是int num = 1的话会导致输出精度不够,所以应该改成double 
	double fra = 0;// 分数
	double res = 1;// 算式结果
	double i = 1, j = 3;// i和j控制分子和分母乘数的变化
		// 注:这里如果是int i = 1的话会导致输出精度不够,所以应该改成double 
		
	while (1) {
		num *= i;
		den *= j;
		fra = (double)num / (double)den;
		if (fra < degree) {
			break;
		}
		res += fra;
		i++;
		j += 2;
	}
	
	return res * 2;
}

int main() {
	printf("%lf\n", fun(0.0005)); 
	
	return 0;
}
发布了34 篇原创文章 · 获赞 6 · 访问量 6120

猜你喜欢

转载自blog.csdn.net/qq_41409120/article/details/104020961