n=2时,s=0+1=1,加的是第1项,以此类推,到n=40,加的是第39项,少加了一项。
如果按你的程序,需要将40改为41,这样才能加上第40项。
即for(n=2;n<=40;n++)改为for(n=2;n<=41;n++),其余不用改。
顺便给出本题的一个比较简单的程序:
#include
void main(){
int i;double s=0;
for(i=1;i<=40;i++)
i%2?s+=1.0/i:s-=1.0/i;
printf("%f",s);}
把 s = s + t; 移到 t= b/ a; 下边