Codeup-求圆周率pi的近似值

题目描述

用如下公式

求圆周率PI的近似值,直到发现某一项的绝对值小于10-6为止(该项不累加)。
要求输出的结果总宽度占10位,其中小数部分为8位。
程序中使用浮点型数据时,请定义为双精度double类型。
如果需要计算绝对值,可以使用C语言数学库提供的函数fabs,如求x的绝对值,则为fabs(x).
输入

输出
PI=圆周率的近似值
输出的结果总宽度占10位,其中小数部分为8位。
末尾输出换行。

 

样例输入

样例输出

PI=3.14159065

 

关于这一题,刚开始没有对1设置一个变量,直接采用常量去做,导致没有办法实现一项加一项减,后来参考了别人的代码之后,将1,-1这两个改变的量设置为一个标志sign,也就是说加完一项,只要sign=-sign即可,在上方判断是否继续累加用到的是fabs(sign/i),所以这就可以很好的完成这个题目。后来提交即便都是错的,最后才发现是自己的输出格式和题目要求不一致!!!小问题真的很难找!还是要细心呀!

 

#include "pch.h"
#include 
#include 

int main()
{
	double sum = 0, pi;
	double i;
	double sign = 1;
	for (i = 1; fabs(sign / i) > pow(10, -6); i =i+ 2)
	{
		sum =sum+ sign / i;
		sign = -sign;
	}
	pi = 4 * sum;
	printf("PI=%10.8f", pi);
	return 0;
}

 

 

你可能感兴趣的:(Codeup)