计算1/1-1/2+1/3-1/4…+1/99-1/100
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i = 0;
double sum = 0;
int flag = 1;
for (i = 1; i <= 100; i++)
{
sum += (1.0 / i)*flag;
flag = -flag;
}
printf("sum=%lf\n", sum);
system("pause");
return 0;
}
复盘
double sum = 0;
sum += (1.0 / i)*flag;
flag = -flag;
1.0 的原因
因为二进制除法执行的是相同类型的
1/2=0 而不是0.5
因此之要有一个操作符为浮点数,就可以得出小数结果。
还得记得要加括号
sum +=flag*1.0 / i 不加也可以写成这样的。
flag
开始赋值flag=1
flag = -flag;
就可以实现正负循环交替
因此再此处要重新定义sum的类型
printf(“sum=%lf\n”, sum);
打印的时候也要注意打印的类型
短短几行代码,复盘的这么多,惭愧啊。
平平无奇的农名工哈哈哈哈哈