int/int结果还是int呀 ,需要转化下改成1.0/i
#include <math.h>
#include <stdio.h>
main()
{int i;
float pi,sign=1,sum=0 ;
for (i=1; 1.0/i>=1e-4; i+=2){
sum+=sign/i ;
sign=-sign;
pi=4*sum;
}
printf ( "pi=%10.6f\n",pi);
return 0;
}
供参考:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i = 1;
float pi,sign=1,sum=0;
while (1.0/i > 1e-4) //for (i = 1;;i+=2)
{
sum += sign*1.0/i;
sign = -sign;
i+=2;
}
pi = 4.0*sum;
printf("pi=%10.6f",pi);
return 0;
}