c语言输出结果不对啊,怎么是0.0000

#include<stdio.h>
#include<math.h>
void main()
{
double s=0,i=1,j=2;
while(fabs(i/j)>0.9999)
{
s+=i/j;
i++;
j++;
i=-i;
}
printf("%lf\n",s);
}

第1个回答  2010-12-29
#include<stdio.h>
#include<math.h>
void main()
{
double s=0,i=1,j=2;
while(fabs(i/j)>0.9999)//因为i/j=0.5,不满足你的循环条件直接退出了,所以s仍然为0
{
s+=i/j;
i++;
j++;
i=-i;
}
printf("%lf\n",s);
}
第2个回答  2010-12-29
fabs(i/j)=0.5,没进循环,直接printf("%lf\n",s);所以s不变,为0本回答被提问者采纳
第3个回答  2010-12-29
因为i/j=0.5<0.9999,所以不循环,直接输出s,所以是0.0000
第4个回答  2010-12-29
一楼所说完全正确

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网