1,题目描述:计算 1/1 - 1/2 + 1/3 - 1/4 + 1/5 - … + 1/99 - 1/100 的值,并打印出结果。
2,解题思路:
1)定义一个变量count,来存放分数的和,并初始化为0。
2)在循环中,若为奇数,则用count加上1/奇数;若为偶数,则用count减去1/偶数。
注意:定义的变量count应该定义为double类型,因为在for循环中1/i(1-100)为浮点型。
方法一:若为奇数,则用count加上1/奇数;若为偶数,则用count减去1/偶数。
#include <stdio.h>
int main()
{
int i;
double sum=0;
for(i=1;i<=100;i++)
{
if(i%2==1)
{
sum+=1.0/i;
}
else
{
sum-=1.0/i;
}
}
printf("%lf\n",sum);
return 0;
}
运行结果:
方法二:设置变量flag来控制正负号。
#include <stdio.h>
int main()
{
int i;
double sum=0;
int flag=1;
for(i=1;i<=100;i++)
{
sum+=flag*1.0/i;
flag=-flag;
}
printf("%lf",sum);
return 0;
}
运行结果:
注意:以上编译环境均为Dev-c++。