你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)
少了个 * 号吧