编写函数,当输入参数n为偶数(大于0)时,返回1/2+1/4+...+1/n的值,当输入参数n为奇数时,返回1/1+1/3+...+1/n的值。
时间: 2024-04-30 09:21:36 浏览: 46
可以使用循环来实现这个函数,我们可以先判断输入的n是奇数还是偶数,然后根据不同情况计算相应的和。具体实现如下:
```python
def calc_sum(n):
if n % 2 == 0: # n为偶数
sum = 0
for i in range(2, n+1, 2):
sum += 1/i
return sum
else: # n为奇数
sum = 0
for i in range(1, n+1, 2):
sum += 1/i
return sum
```
在这个函数中,我们使用了两个循环,一个是当n为偶数时的循环,另一个是当n为奇数时的循环,它们分别计算了1/2+1/4+...+1/n和1/1+1/3+...+1/n的值,并将结果返回。
相关问题
用C语言编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数 1/1+1/3+...+1/n(利用指针函数)
好的,我来为你编写一个满足你要求的C语言函数。以下是代码示例:
```c
#include <stdio.h>
double calculateSum(int n, double (*func)(int)) {
double sum = 0;
for (int i = 2; i <= n; i += 2) {
sum += func(i);
}
return sum;
}
double evenFunc(int n) {
return 1.0 / n;
}
double oddFunc(int n) {
return 1.0 / n;
}
int main() {
int n;
printf("请输入一个整数n:");
scanf("%d", &n);
double sum;
if (n % 2 == 0) {
sum = calculateSum(n, evenFunc);
} else {
sum = calculateSum(n, oddFunc);
}
printf("计算结果为:%f\n", sum);
return 0;
}
```
这个程序中,我们定义了两个函数 `evenFunc` 和 `oddFunc`,分别用于计算偶数和奇数情况下的每一项的值。函数 `calculateSum` 接收一个整数 `n` 和一个指向函数的指针 `func`,根据 `n` 的奇偶性调用相应的函数,并计算累加和。最后在 `main` 函数中根据用户输入的 `n` 调用 `calculateSum` 函数,并输出计算结果。
注意:上述代码中,假设输入的 `n` 大于等于2,如果需要对输入进行合法性验证,请自行添加相应的代码。
编写一个函数,输入大于1的整数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数 求1/1+1/3+...+1/n(要求利用函数指针编程) 输入格式:"%d" 偶数输出:"Even=%f" 奇数输出:"Odd=%f"
好的,以下是满足要求的代码:
```c
#include <stdio.h>
double sum_even(int n) {
double sum = 0;
for (int i = 2; i <= n; i += 2) {
sum += 1.0 / i;
}
return sum;
}
double sum_odd(int n) {
double sum = 0;
for (int i = 1; i <= n; i += 2) {
sum += 1.0 / i;
}
return sum;
}
void sum(int n, double (*func)(int)) {
double res = func(n);
if (n % 2 == 0) {
printf("Even=%.4f", res);
} else {
printf("Odd=%.4f", res);
}
}
int main() {
int n;
scanf("%d", &n);
if (n % 2 == 0) {
sum(n, sum_even);
} else {
sum(n, sum_odd);
}
return 0;
}
```
这个程序中,我们定义了两个求和函数 `sum_even` 和 `sum_odd`,分别用于计算偶数情况和奇数情况下的求和结果。然后我们定义了一个 `sum` 函数,它接收一个整数和一个函数指针作为参数,根据整数的奇偶性调用不同的函数,并输出结果。最后在 `main` 函数中读入一个整数,判断它的奇偶性,然后调用 `sum` 函数来计算并输出结果。
阅读全文