题目描述

编写程序,输入n的值,求1/1−1/2+1/3−1/4+1/5−1/6+1/7−1/8+...+(−1)^(n−1)⋅1/n的值。

输入

输入一个正整数n。1 ≤ n ≤ 1000。

输出

输出一个实数,为表达式的值,保留到小数点后四位。

样例输入 
2
样例输出 
0.5000

代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
	double n,t;
	cin>>n;
	for (int i=1;i<=n;i++)    // 循环变量 i 从 1 开始,每次循环结束后 i 加 1,直到 i 大于 n 时停止循环
	{
		if(i%2==0){   // 判断当前循环的次数 i 是否为偶数
			t=t-1.0/i;	    // 如果 i 是偶数,从累加结果 t 中减去 1.0 / i
		}
		else{
			t=t+1.0/i;      // 如果 i 是奇数,将 1.0 / i 累加到结果 t 中
		}
	}
	printf("%.4lf",t); //输出函数 printf 输出累加结果 t,保留四位小数
	return 0;
}

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐