计算1/1-1/2+1/3-1/4......+1/99-1/100

计算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);

打印的时候也要注意打印的类型

短短几行代码,复盘的这么多,惭愧啊。
平平无奇的农名工哈哈哈哈哈

发布了27 篇原创文章 · 获赞 6 · 访问量 4823

猜你喜欢

转载自blog.csdn.net/weixin_45271990/article/details/104451525