修改了一下,但是结果在输入0.001时,返回的是0.7849,不知道对不对,供你参考一下:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
double fun(double x){
double s=0,i;
int n = (int)(1/x +1)/2;
for(i=1;i<=n;i++){
if(((int)i)%2==0){
s+=(double)1/(2*i-1)*-1;
}else{
s+=(double)1/(2*i-1);
}
}
return s;
}
int main(){
// void NONO();
double x,sum;
printf("Enter x:\n");
scanf("%lf",&x);
sum=fun(x);
printf("sum=%.4lf\n",sum);
// NONO();
return 0;
}
if(i % 2){
s+= 1.0/(2*i - 1);
}
else{
s-= 1.0/(2*i - 1);
}