C语言用递归算法求解下面这个题!!!求大神

C语言用递归算法求解下面这个题!!!求大神求过程代码

第1个回答  2023-03-31
以下是使用递归算法实现上述程序的C语言代码:
#include <stdio.h>
float sum(int n) {
if (n == 0) { // 基本情况
return 0;
} else {
float s = 0;
for (int i = 1; i <= n; i++) { // 计算1/1+2+3+...+n
s += i;
}
return sum(n-1) + 1/s; // 递归调用
}
}
int main() {
int n;
printf("请输入n的值:");
scanf("%d", &n);
printf("sum = %.2f\n", sum(n));
return 0;
}

在这个递归函数中,我们使用了一个基本情况,即当n等于0时,返回0作为递归的终止条件。在其他情况下,我们使用for循环计算1/1+2+3+...+n的值,然后通过递归调用求解sum(n-1),最后将两个结果相加。