求1+1/2+1/3+……+1/n的和
时间: 2023-11-13 14:02:50 浏览: 109
这是一个求1+1/2+1/3+……+1/n的和的问题。可以使用循环来实现。下面是一个示例代码:
```
#include <stdio.h>
int main() {
int n;
float sum = 0.0;
printf("请输入n的值:");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
sum += 1.0 / i;
}
printf("1+1/2+1/3+...+1/n的和为:%f\n", sum);
return 0;
}
```
用户需要输入n的值,然后程序会计算1+1/2+1/3+……+1/n的和并输出结果。
相关问题
自定义一个函数求1+1/2+1/3+……+1/n,编写程序,在主函数中求s=s1+s2+s3的值,其中: s1=1+1/2+1/3+……+1/5 s2=1+1/2+1/3+……+1/10 s3=1+1/2+1/3+……+1/20
您可以自定义一个函数来求1+1/2+1/3+……+1/n,代码如下:
```c++
double sum(int n) {
double res = 0;
for (int i = 1; i <= n; i++) {
res += 1.0 / i;
}
return res;
}
```
然后在主函数中,您可以调用这个函数来求s1、s2、s3的值,代码如下:
```c++
#include <iostream>
using namespace std;
double sum(int n);
int main() {
double s1 = sum(5);
double s2 = sum(10);
double s3 = sum(20);
double s = s1 + s2 + s3;
cout << "s1 = " << s1 << endl;
cout << "s2 = " << s2 << endl;
cout << "s3 = " << s3 << endl;
cout << "s = " << s << endl;
return 0;
}
double sum(int n) {
double res = 0;
for (int i = 1; i <= n; i++) {
res += 1.0 / i;
}
return res;
}
```
输出结果为:
```
s1 = 2.28333
s2 = 2.92897
s3 = 3.59774
s = 8.81004
```
运用循环分支求下列两式子+(1)1/3+3/5+5/7+……+n/(n+2)++++//n为任意一个奇数+++++(2)1!+2!+3!+4!+……+n!+++n=20
以下是两个问题的答案:
1. 运用循环分支求下列式子:1/3+3/5+5/7+……+n/(n+2),其中n为任意一个奇数。
```c
#include <stdio.h>
int main() {
int n;
float sum = 0;
printf("请输入一个奇数n:");
scanf("%d", &n);
for (int i = 1; i <= n; i += 2) {
sum += (float)i / (i + 2);
}
printf("结果为:%f", sum);
return 0;
}
```
阅读全文