请用c++编程:问题:读入n,计算S=1-1/2+1/3-1/4+1/5-1/6+…… 1/n的值。顶格输出,保留小数点后10位。 输入样例: 6 输出样例: 0.6166666667 数据规模 1<= n <=100
时间: 2023-09-20 15:11:15 浏览: 270
c++求1+1/2+1/3+...+1/n
5星 · 资源好评率100%
以下是用C++编写的程序:
```cpp
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int n;
cin >> n;
double sum = 1.0;
int flag = -1;
for (int i = 2; i <= n; i++) {
sum += flag * 1.0 / i;
flag = -flag;
}
cout << fixed << setprecision(10) << sum << endl;
return 0;
}
```
程序首先读入n,然后定义一个double类型的变量sum,并初始化为1.0,因为第一项是1。接着定义一个flag变量,用来记录正负号,初始化为-1。然后从i=2开始循环,每次加上flag乘以1/i的值,并将flag取反。最后输出sum的值,保留小数点后10位。
阅读全文