字典翻译 问答 其它 求圆周率的一行代码看不懂,求教!r=(i%4==1)?r+f:r-f;是神马意思?#includeusingnamespacestd;doublearctan(doublex){doublesqr=x*x;doublee=x;doubler=0;inti=1;while(e/i>1e-15){doublef=e/i;r=(i%4==1)?r+f:r-f;e=e*sqr;i+=
问题标题:
求圆周率的一行代码看不懂,求教!r=(i%4==1)?r+f:r-f;是神马意思?#includeusingnamespacestd;doublearctan(doublex){doublesqr=x*x;doublee=x;doubler=0;inti=1;while(e/i>1e-15){doublef=e/i;r=(i%4==1)?r+f:r-f;e=e*sqr;i+=
问题描述:

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

#include

usingnamespacestd;

doublearctan(doublex)

{

doublesqr=x*x;

doublee=x;

doubler=0;

inti=1;

while(e/i>1e-15)

{

doublef=e/i;

r=(i%4==1)?r+f:r-f;

e=e*sqr;

i+=2;

}

returnr;

}

intmain()

{

doublea=16.0*arctan(1/5.0);

doubleb=4.0*arctan(1/239.0);

cout

沈锡臣回答:
  r=(i%4==1)?r+f:r-f;//用到的是?:这个运算符,这是一个三元运算符,用法为:(判断条件)?选择1:选择2,如果判断条件为真就选择1,否则选择2,.i%4==1是判断条件,判断i%4的余数是否为1,如果是则r=r+f,否则r=r-f.
点击显示
其它推荐
热门其它推荐
  • 其它