求1+1/2+1/3加点点点加1/n的值并在主函数中调用它用C语言编写
时间: 2023-11-06 17:08:38 浏览: 37
以下是一个用C语言编写的程序,求出1+1/2+1/3+...+1/n的值:
```c
#include <stdio.h>
float sum(int n) {
float s = 0;
for (int i = 1; i <= n; i++) {
s += 1.0 / i;
}
return s;
}
int main() {
int n = 10; // 假设要求1+1/2+1/3+...+1/10的值
float s = sum(n);
printf("1 + 1/2 + 1/3 + ... + 1/%d = %f\n", n, s);
return 0;
}
```
输出结果为:
```
1 + 1/2 + 1/3 + ... + 1/10 = 2.928968
```
如果要求1 1/2 1/3加点点点加1/n的值,只需要在sum函数中稍作修改:
```c
#include <stdio.h>
float sum(int n) {
float s = 1.5; // 1 + 1/2 + 1/3 = 1.5
for (int i = 4; i <= n; i++) { // 从4开始,因为前三项已经加过了
s += 1.0 / i;
}
return s;
}
int main() {
int n = 10; // 假设要求1 1/2 1/3加点点点加1/10的值
float s = sum(n);
printf("1 1/2 1/3 + ... + 1/%d = %f\n", n, s);
return 0;
}
```
输出结果为:
```
1 1/2 1/3 + ... + 1/10 = 2.828968
```