如何自定义数据类型,使之能精确到小数点后100位,用c++语言实现
for(inti=1;i<=150;i++)doublepi=2;pi*=((2.0*i)/(2.0*i-1))*((2.0*i)/(2.0*i+1));编写c或c++语...
for(int i=1;i<=150;i++) double pi=2;
pi*=((2.0*i)/(2.0*i-1))*((2.0*i)/(2.0*i+1));
编写c或c++语言程序,使pi最终结果能精确到小数点后100位。 展开
pi*=((2.0*i)/(2.0*i-1))*((2.0*i)/(2.0*i+1));
编写c或c++语言程序,使pi最终结果能精确到小数点后100位。 展开
2个回答
展开全部
对于长度很大的操作,可以用多元数组实现,可以看做是将数学原理重新阐述:
例如【1】【2】,你可以把它当做12;【1】【2】【3】,当做123;
小数也是一样,可以将最前的一位当整数部分,【123】【2】【3】【4】【5】【6】【7】【8】,当成123.12345678.类似这种方法。(注意相加时前面一位进位处理)
自定义最好玩的地方就是,你自己是规则的制定者,随便怎么设。
例如【1】【2】,你可以把它当做12;【1】【2】【3】,当做123;
小数也是一样,可以将最前的一位当整数部分,【123】【2】【3】【4】【5】【6】【7】【8】,当成123.12345678.类似这种方法。(注意相加时前面一位进位处理)
自定义最好玩的地方就是,你自己是规则的制定者,随便怎么设。
追问
嗯,是挺好玩的!不过可惜自己基础还不太好。你有空吗?可不可以帮我改一下代码?谢谢了!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <iostream>
#include <string>
using namespace std;
int main()
{
double pi=2;
for(int i=1;i<=150;i++)
{
pi*=(((2.0*i)/(2.0*i-1))*((2.0*i)/(2.0*i+1)));
printf ("%.100f\n",pi);
}
}
试试这行吗?
#include <string>
using namespace std;
int main()
{
double pi=2;
for(int i=1;i<=150;i++)
{
pi*=(((2.0*i)/(2.0*i-1))*((2.0*i)/(2.0*i+1)));
printf ("%.100f\n",pi);
}
}
试试这行吗?
追问
/*改成下面那样才能运行,这个我也会写,只是这个是只能正确显示小数点后16位的,16位之后的就全是0了*/
#include
using namespace std;
int main()
{
double pi=2;
for(int i=1;i<=150;i++)
{
pi*=(((2.0*i)/(2.0*i-1))*((2.0*i)/(2.0*i+1)));
printf("%.100f\n",pi);
}
return pi;
}
不过还是谢谢你哈~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询