从第7行开始,错的地方太多了,干脆给你重写这个求和算法:for(i=1; i<=n; i++){ j=i*2-1; t=(double)i/j; if(i%2==0) sum-=t; else sum+=t;}你的代码错误点主要有:(1)循环应该从1开始(2)i/j 是整除,结果为0,要强制转为浮点除(3)sum+=t+f的逻辑是错的,不会得到期望的结果,因为t和f的结果只会出现二选一。希望对你有帮助。