term=sign*1.0/deno;
主要上面的1/deno改为1.0/deno
如
1/2=0
1.0/2=0.5
#include
int main()
{
int sign=1,deno;
float sum=1.0,term;
for(deno=2;deno<=100;deno++)
{
sign=(-1)*sign;
term=(float)sign*1/deno; //直接做除法会使得term一直等于0
sum+=term;
}
printf("%f\n",sum);
return 0;
}