分数求和
计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值,打印出结果
思路:
- 从上述表达式可以分析出
a. 该表达式主要由100项,基数项为正,偶数项为负 - 设置一个循环从1~100,给出表达式中的每一项:1.0/i, 注意此处不能使用1,否则结果全部为0
然后使用flag标记控制奇偶项,奇数项为正,偶数项为负
然后将所有的项相加即可
方法一:
#include <stdio.h>
int main()
{
int i = 0;
double sum = 0.0;
int flag = 1;
for(i=1; i<=100; i++)
{
sum += flag*1.0/i;
flag = -flag;
}
printf("%lf\n", sum);
return 0;
}
根据奇偶性分别进行计算最后求和:
方法二:
#include <stdio.h>
int main()
{
int i = 0;
double sum = 0;
for (i = 1; i <= 100; i++)
{
if (i % 2 == 1)//i为奇数,将sum加上1/i的值
{
sum += 1.0 / i;
}
else
{
sum -= 1.0 / i;//i为偶数,将sum减去1/i的值
}
}
printf("%lf\n", sum);
return 0;
}