用c++写从键盘输入n的值,求y的值。 y=1+ \frac {1}{2!}+ \frac {1}{3!}+ \cdots + \frac {1}{n!}
时间: 2024-03-24 21:40:58 浏览: 131
好的,下面是 C++ 代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
double y = 1.0; // 初始化 y 为 1,注意要用 1.0 而不是 1,否则计算结果会自动转换为整数
int factorial = 1; // 记录每次循环中的阶乘值,初始为 1
for (int i = 2; i <= n; i++) {
factorial *= i; // 计算阶乘值
y += 1.0 / factorial; // 累加每一项的值
}
cout << "y = " << y << endl;
return 0;
}
```
首先从键盘读入 n 的值,然后初始化 y 为 1,factorial 为 1。接着从 2 开始循环,每次循环计算当前的阶乘值和当前项的值,然后累加到 y 中。最后输出 y 的值即可。
需要注意的是,计算每一项的值时,要用 1.0 而不是 1,否则计算结果会自动转换为整数,导致精度丢失。
阅读全文