用一个for循环完成计算。由于分母的增量是首项为0,公差为1的等差数列,所以用一从1开始、增量为1的计数变量i兼作分母的增量;分母用一个从1开始、增量为i的变量n承载,另用一个浮点变量t动态记录每项的绝对值,当t>=题设要求1.0E-4时,将t加(i为奇数)或减(i为偶数)于浮点和变量s,直到t<1.0E-4时为止。代码如下:
#include "stdio.h"
int main(int argc,char *argv[]){
int i,n;
double t,s;
for(s=0.0,t=n=i=1;t>=1.0E-4;n+=i++)//n是分母,i为项序兼作n的增量(首项为0公差为1的等差数列)
s += i&1 ? t=1.0/n : -(t=1.0/n); //t是项绝对值,i从1开始,奇数项取正,偶数项取负将t累加至s
printf("The result is %g %d\n",s,i);//输出结果
return 0;
}
运行结果如下: