求圆周率的一行代码看不懂,求教!r=(i%4==1)?r f:r-f;是神马意思?

[复制链接]
查看11 | 回复1 | 2011-7-7 07:38:22 | 显示全部楼层 |阅读模式
#includeiostream
usingnamespacestd;

doublearctan(doublex)
{
        doublesqr=x*x;
        doublee=x;
        doubler=0;
        inti=1;
        while(e/i1e-15)
        {
                doublef=e/i;
                r=(i%4==1)?rf:r-f;
                e=e*sqr;
                i=2;
        }
        returnr;
}

intmain()
{
        doublea=16.0*arctan(1/5.0);
        doubleb=4.0*arctan(1/239.0);
        cout\"PI=\"a-bendl;
}
回复

使用道具 举报

千问 | 2011-7-7 07:38:22 | 显示全部楼层
r=(i%4==1)?rf:r-f;//用到的是?:这个运算符,这是一个三元运算符,用法为:(判断条件)?选择1:选择2,如果判断条件为真就选择1,否则选择2,。i%4==1是判断条件,判断i%4的余数是否为1,如果是则r=rf,否则r=r-f。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行