計算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.0f / i)*flag;
		flag = -flag;
	}
	printf("sum=%lf\n", sum);
	system("pause");
	return 0;
}

在這裏插入圖片描述
覆盤

double sum = 0;

sum += (1.0f / i)*flag;
flag = -flag;

1.0f 的原因
因爲二進制除法執行的是相同類型的
1/2=0 而不是0.5
因此之要有一個操作符爲浮點數,就可以得出小數結果。
還得記得要加括號
sum +=flag*1.0 / i 不加也可以寫成這樣的。
==c語言中,小數類型默認爲double,如果不加1.0f會出現報警,後面加上f就可以把double 轉換爲float.
flag
開始賦值flag=1
flag = -flag;
就可以實現正負循環交替

因此再此處要重新定義sum的類型
printf(“sum=%lf\n”, sum);

打印的時候也要注意打印的類型

短短几行代碼,覆盤的這麼多,慚愧啊。
平平無奇的農名工哈哈哈哈哈

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章