//计算1/1-1/2+1/3-1/4+1/5......1/99-1/100的值。
#include<stdio.h>
#include<stdlib.h>
int main( )
{
int i;
double sum1 =0;
double sum2 = 0;
double sum = 0;
for (i = 1; i <= 100; i += 2)
{
sum1 = sum1 + 1.0 / i;
}
for (i = 2; i <= 100; i += 2)
{
sum2 = sum2 + 1.0 / i;
}
sum = sum1 - sum2;
printf("%f", sum);
system("pause");
return 0;
}
分析:
通过观察可得:该多项式的奇数项前符号为正,偶数项前符号为负,因此,可 以将偶数项合计数项分别提出来进行求和,再相减。如下:sum1=1/1+1/3+1/5+……1/99;
sum2=1/2+1/4+1/6+……1/100;
sum=sum1-sum2;
注意事项:
1.在定义变量sum1和sum2时,不能定义为整型,因为明显可知,最后的计算果为小数,所以须将其定义为浮点型变量(double类型) 。
2. sum1 = sum1 + 1.0 / i; sum2 = sum2 + 1.0 / i;这两个语句中,“/”前面的一必须写成“1.0”的形式,否则系统会在计算1/i时,默认根据1的类型来取值,导致最终结果为整型。
3. 输出语句中必须用%f输出最终结果,因为%d表示按照整型输出最终结果,%f表示按照浮点型输出。