用c++编写输入一个正整数 计算并输出1-1/2+1/3-1/4+……+1/n
时间: 2023-11-12 11:06:29 浏览: 55
以下是用C++编写输入一个正整数,计算并输出1-1/2+1/3-1/4+……+1/n的代码:
```
#include <iostream>
using namespace std;
double getSum(int n) {
double sum = 0;
int flag = 1;
for (int i = 1; i <= n; i++) {
sum += flag * 1.0 / i;
flag = -flag;
}
return sum;
}
int main() {
int n;
cout << "请输入一个正整数n:" << endl;
cin >> n;
double sum = getSum(n);
cout << "1-1/2+1/3-1/4+……+1/n的结果为:" << sum << endl;
return 0;
}
```
相关问题:
相关问题
用c++编写下面的题目:让用户输入一个不大于20的正整数n,计算1!+2!+3!+……+ n!。
以下是用C++编写的代码:
```c++
#include <iostream>
using namespace std;
int main() {
int n;
cout << "请输入一个不大于20的正整数n: ";
cin >> n;
int sum = 0, factorial = 1;
for (int i = 1; i <= n; i++) {
factorial *= i;
sum += factorial;
}
cout << "1!+2!+3!+...+" << n << "! = " << sum << endl;
return 0;
}
```
代码的思路是先让用户输入一个不大于20的正整数n,然后使用for循环计算1!+2!+3!+……+n!的值,并将结果存储在变量sum中,最后输出结果。在循环中,使用一个变量factorial来存储每个i的阶乘,然后将其加到sum中。
使用cpp编写下题:输入一个大于1的正整数n , 当n为偶数时,计算:1+1/2+1/4+...+1/n; 当n为奇数时,计算:1+1/3+1/5+...+1/n;
以下是使用C++编写的程序,可以实现输入一个大于1的正整数n,根据n的奇偶性计算对应的求和结果:
```cpp
#include <iostream>
using namespace std;
int main() {
int n;
double sum = 0.0;
cout << "请输入一个大于1的正整数n:";
cin >> n;
if (n % 2 == 0) { // n为偶数
for (int i = 1; i <= n; i *= 2) {
sum += 1.0 / i;
}
} else { // n为奇数
for (int i = 1; i <= n; i += 2) {
sum += 1.0 / i;
}
}
cout << "求和结果为:" << sum << endl;
return 0;
}
```
程序中使用了一个变量`sum`来累加求和结果,初始值为0。
如果输入的n为偶数,则通过for循环依次计算1、1/2、1/4、1/8……1/n的和,循环变量i每次乘以2,直到i大于n。
如果输入的n为奇数,则通过for循环依次计算1、1/3、1/5、1/7……1/n的和,循环变量i每次加2,直到i大于n。
最后输出求和结果。