【题目名称】
分数求和
【题目内容】
计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值,打印出结果
易错点:
1/i为浮点型数,所以sum的类型为double;
因为 i 为整数,1/i: 整数*整数 = 整数;
所以要转换为浮点数,但是(double)1/i 不行,因为1/i 为整数,所以double 之后只是多加了.0000
因此要把i变为double,所以直接乘以一个浮点数;
#include <stdio.h>
int main()
{
double sum = 0.0;
int i =0;
for(i =1; i<=100; i++)
{
if((i%2) == 1)
sum += (double) 1/i;
else sum -= (double) 1/i;
}
printf("%f\n", sum);
return 0;
}
#include <stdio.h>
int main()
{
double sum = 0.0;
int i =0;
for(i =1; i<=100; i++)
{
if((i%2) == 1)
sum += 1/(i*1.0);
else sum -= 1/(i*1.0);
}
printf("%f\n", sum);
return 0;
}
运行结果: