哪里错了啊,找不出来

img


img

你for循环的条件错了,应该x-n>num/2
最后的printf函数中应该是%.7f

完整代码如下:


#include <stdio.h>
int main()
{
    float num;
    scanf("%f",&num);
    float x = 1.0;
    float n = 0;
    float r =1.0;
    float i;
    for (i=1.0;x-n>num/2;i++) //修改1
    {
        n = x;
        r*=i/(2*i+1.0);
        x+=r;
    }
    x *=2;
    printf("%.7f",x); //修改2
    return 0;
}

r *= i/(2 * i+1.0)

少了个 * 号吧