C++ 求PI值的小程序

102关注541浏览

#include<iostream.h>
#include<math.h>
void main()
{
double s(0),x(1);
for(int i(1);fabs(x)>1e-4;i++)
{
x=(i%2?1.0:-1.0)/(2*i-1);//这里的1.0:-1.0改成1.0:-1.0为什么就算不出来结果?难道我把一个整数赋给double型变量,结果变成int类型了吗?这样太不合

展开全部
收起
3回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • Connor

    10人对此回答表示赞同

    首先,你的开始我认为可以直接打成#include <iostream>。
    其次:在C++中主函数一般是要用int的
    修改完后会出现这个pi is =3.14179
    是要这个结果么
    展开
    10
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Alan被注册了

    4人对此回答表示赞同

    不是在赋值时出错了,而是在做除法时出错了

    如果是1:-1,怎除法时i%2/(2*i-1)上下都是int型,那么除出来的结果也是int型,再赋给double时并没有问题,因为此时精度已经损失了

    而如果是1.0:-1.0则是double/int型,此时以高精度为准,则除出来的double型,所以没错,不知道明白了没有
    展开
    4
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 象牙_Sanya

    2人对此回答表示赞同

    是你在之前的X(1),赋值导致下面循环里的fabs(x),不能转换,导致错误的
    展开
    2
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部