目录
代码逻辑
分子1不变,分母从1递增,用for循环遍历分母
注意:除法分为整数除法和浮点数除法,只有当除号的两端至少有一个浮点数才能执行浮点数除法,所以可以将分子的1修改为1.0
代码实现
奇数加奇数,偶数加偶数,再做差
#include<stdio.h>
int main()
{
//分母为奇数求和的结果
double sum1 = 0;
for (int i = 1; i <= 100; i += 2)
{
sum1 = sum1 + (1.0 / i);
}
//分母为偶数求和的结果
double sum2 = 0;
for (int i = 2; i <= 100; i += 2)
{
sum2 = sum2 + (1.0 / i);
}
//打印验证
double sum = sum1 - sum2;
printf("%f\n", sum);
return 0;
}
if判断,分母为奇数时加,分母为偶数时减
#include<stdio.h>
int main()
{
//求和的结果
double sum = 0;
for (int i = 1; i <= 100; i++)
{
if (i % 2 == 1)//分母为奇数
{
sum = sum + 1.0 / i;
}
else//分母为偶数
{
sum = sum - 1.0 / i;
}
}
//打印验证
printf("%f\n", sum);
return 0;
}
正负得负,负负得正
#include<stdio.h>
int main()
{
//求和的结果
double sum = 0;
//正负交替的变量
int letter = 1;
for (int i = 1; i <= 100; i++)
{
//第一次*letter为正,第二次*letter为负……
sum = sum + ((1.0 / i) * letter);
//正负得负,负负得正
letter = letter * -1;
}
//打印验证
printf("%f\n", sum);
return 0;
}