计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。
计算这个有两种方法,第一种是直接进行计算
#include <stdio.h>
#include <math.h>
//简单方法
int main()
{
double sum = 0;
printf("计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值!\n");
for (int i = 1;i <= 100;++i)
{
if (i % 2 == 0)
{
//若是i为偶数,进行相减
sum = sum - (1 / (double)i);
}
else
{
sum = sum + (1 / (double)i);
}
}
//使用%.2f保留两位小数,否则默认保留六位小数
printf("计算结果:sum=%.2f \n", sum);
system("pause");
return 0;
}
输出结果:
第二种方法是调用math库里面的pow方法;
pow(a,b),类似于求a^b的值。
例如:
#include<stdio.h>
#include<math.h>
int main()
{
printf("2^3等于%.2f \n", pow(2, 3));
system("pause");
return 0;
}
结果为:
所以第二种方法就是使用pow进行取负值相加;
#include <stdio.h>
#include <math.h>
int main()
{
double sum = 0;
double a = 0;
for (double i = 1;i <= 100;++i)
{
//使用math库自带的次方方法取负值
a = pow(-1, i + 1);
sum = sum + a * (1 / i);
}
printf("计算结果为:%.2f \n", sum);
system("pause");
return 0;
}
实验结果为: