c语言写1+1/2-1/3+1/4-1/5...的前n项和 用递归函数实现
时间: 2023-12-04 13:05:36 浏览: 79
以下是C语言实现1+1/2-1/3+1/4-1/5...的前n项和的递归函数代码:
```c
#include <stdio.h>
double sum(int n) {
if (n == 1) {
return 1.0;
} else if (n % 2 == 0) {
return sum(n - 1) - 1.0 / n;
} else {
return sum(n - 1) + 1.0 / n;
}
}
int main() {
int n;
double s;
printf("请输入n的值:");
scanf("%d", &n);
s = sum(n);
printf("前%d项和为:%lf\n", n, s);
return 0;
}
```
相关问题
C语言递归算法求sum=1+1/1+2+1/1+2+3+...+1/1+2+3+...+n
#include <stdio.h>
// 递归函数计算sum
double sum(int n) {
if (n == 1) {
return 1;
} else {
double s = sum(n-1); // 递归调用
double d = 0;
for (int i = 1; i <= n; i++) {
d += i;
}
return s + 1/d; // 返回结果
}
}
int main() {
int n;
printf("请输入n的值:");
scanf("%d", &n);
printf("sum = %lf\n", sum(n));
return 0;
}
用C语言编程,使用递归方法编写递归函数fun(),其功能是计算S=(1+1/2)+(1/3+1/4)+…+(1/2n-1+1/2n)
```c
#include <stdio.h>
double fun(int n) {
if (n == 1) {
return 1.5;
} else {
return fun(n - 1) + 1.0 / (2 * n - 1) + 1.0 / (2 * n);
}
}
int main() {
int n;
double s;
printf("请输入一个大于1但不大于100的整数n:");
scanf("%d", &n);
s = fun(n);
printf("S的值为:%lf\n", s);
return 0;
}
```
--相关问题--:
1. 什么是递归函数?
2. 递归函数有哪些应用场景?
阅读全文