用C语言编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数 1/1+1/3+...+1/n(利用指针函数)
时间: 2023-10-31 14:05:26 浏览: 221
C语言程序设计-计算从1开始到n的自然数中偶数的平方的和,n由键盘输入,并在main()函数中输出。(n是偶数).c
5星 · 资源好评率100%
好的,我来为你编写一个满足你要求的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,如果需要对输入进行合法性验证,请自行添加相应的代码。
阅读全文