我用了两种方法做这道题。
方法一:
#include<stdio.h>
#include<math.h>
#include<Windows.h>
int main()
{
double i;
double a = 0;
for (i = 0; i < 100; i++)
{
a += (pow((-1) ,i))*(1.0 / (i + 1));
}
printf("%f\n", a);
system("pause");
return 0;
}
用这种方法我刚开始的答案一直是100,-100,-1,1之类的数,最后通过查资料了解了pow函数的用法。具体用法如下:
此类函数为浮点型函数里幂函数,而幂函数又分为两类,它们的方法如下:
double pow(double x,double y);
double sqrt(double x);
pow函数返回x^y的值。由于在计算这个值时可能要用到对数,所以如果x是一个负数且y不是一个整数,就会出现一个定义域错误。
sqrt函数返回其参数的平方根。如果参数为负,就会出现一个定义域错误。
方法二:
#include<stdio.h>
#include<math.h>
#include<Windows.h>
int main()
{
double i,j;
double a = 0;
for (i = 1; i <= 100; i+=2)
{
a += (1.0 / i);
}
for (j = 2; j <= 100; j+=2)
{
a -= (1.0 / j);
}
printf("%f\n", a);
system("pause");
return 0;
}
:
该程序里面的知识点:1、关于算术运算符:
+ - * / %
除了%操作符,其余几个操作符都是既适用于浮点型又适用于整数型。
当/操作符的两个操作数都是整数时,它执行整除运算,在其他情况下则执行浮点数除法。
%为取模操作符,它接受两个整型操作数,把左操作数除以右操作数,但它返回的值是余数。
2、程序思维,我们平时就会用x%2来判定奇偶性,但是这样的话,就会有很多的步骤,程序运行的就相对比较多。