for(i=1;i<=n;i++)sum += 2*i-1;你的用n+=2的话,虽然分母是对了,但循环次数不够n次啊,得到的不是第n项的值啊
#include "stdio.h" int main(int argc,char *argv[]){ int i; double s,t; for(s=0,t=i=1;t>0.0000001;s+=(t=1.0/i),i+=2); printf("s=%.6f",s); return 0; }