求大神解决

yangshile 2014-03-28 09:56:48
利用FOR跟格里拉公式求PI 当PI小数点后3位数字不再发生变化时输出PI
...全文
95 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
以前不知道有这个格里拉公式,学习了,作为回报,附上程序和注释。 希望楼主提供一下自己学习所用的书本。

int main()
{
	double dQuarterPi=1.0;	//初始值
	double dx;				//1/3,1/5,1/7……
	int ix=0;
	char pcPi1[100];		//结果存储
	char pcPi2[100];		//结果存储
	for(dx = 3; ; dx+=2)
	{
		if(ix%2)				//计数,一次加,一次减
		{
			dQuarterPi += 1/dx;
		}
		else
		{
			dQuarterPi -= 1/dx;
		}
		sprintf(pcPi2, "%f", dQuarterPi*4);//数值转换成字符型
		if( 0!=memcmp(pcPi1, pcPi2, 5) )	//比较前5个字节,3.+小数点后三位
		{
			strcpy(pcPi1, pcPi2);			//不同,则保存上一次的结果
		}
		else
		{
			printf("%s\n", pcPi1);			//5个字节相同则输出。
			break;
		}
		ix++;
	}
	return 0;
}
均陵鼠侠 2014-03-28
  • 打赏
  • 举报
回复
你自己先弄,弄完再说。退朝!!!
  • 打赏
  • 举报
回复
引用 3 楼 sholber 的回复:
[quote=引用 2 楼 zjq9931 的回复:] 以前不知道有这个格里拉公式,学习了,作为回报,附上程序和注释。 希望楼主提供一下自己学习所用的书本。

int main()
{
	double dQuarterPi=1.0;	//初始值
	double dx;				//1/3,1/5,1/7……
	int ix=0;
	char pcPi1[100];		//结果存储
	char pcPi2[100];		//结果存储
	for(dx = 3; ; dx+=2)
	{
		if(ix%2)				//计数,一次加,一次减
		{
			dQuarterPi += 1/dx;
		}
		else
		{
			dQuarterPi -= 1/dx;
		}
		sprintf(pcPi2, "%f", dQuarterPi*4);//数值转换成字符型
		if( 0!=memcmp(pcPi1, pcPi2, 5) )	//比较前5个字节,3.+小数点后三位
		{
			strcpy(pcPi1, pcPi2);			//不同,则保存上一次的结果
		}
		else
		{
			printf("%s\n", pcPi1);			//5个字节相同则输出。
			break;
		}
		ix++;
	}
	return 0;
}
程序写得很工整,但是很要命。[/quote] 为什么恨要命?
均陵鼠侠 2014-03-28
  • 打赏
  • 举报
回复
引用 2 楼 zjq9931 的回复:
以前不知道有这个格里拉公式,学习了,作为回报,附上程序和注释。 希望楼主提供一下自己学习所用的书本。

int main()
{
	double dQuarterPi=1.0;	//初始值
	double dx;				//1/3,1/5,1/7……
	int ix=0;
	char pcPi1[100];		//结果存储
	char pcPi2[100];		//结果存储
	for(dx = 3; ; dx+=2)
	{
		if(ix%2)				//计数,一次加,一次减
		{
			dQuarterPi += 1/dx;
		}
		else
		{
			dQuarterPi -= 1/dx;
		}
		sprintf(pcPi2, "%f", dQuarterPi*4);//数值转换成字符型
		if( 0!=memcmp(pcPi1, pcPi2, 5) )	//比较前5个字节,3.+小数点后三位
		{
			strcpy(pcPi1, pcPi2);			//不同,则保存上一次的结果
		}
		else
		{
			printf("%s\n", pcPi1);			//5个字节相同则输出。
			break;
		}
		ix++;
	}
	return 0;
}
程序写得很工整,但是很要命。

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧