编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数 求1/1+1/3+...+1/n(要求利用函数指针编程)
时间: 2023-04-29 20:00:51 浏览: 103
以下是用C++语言编写的函数示例:
#include <iostream>
using namespace std;
double sum_even(int n); // 偶数求和函数
double sum_odd(int n); // 奇数求和函数
int main() {
int n;
double (*p)(int); // 定义函数指针
cout << "请输入一个正整数n:";
cin >> n;
if (n % 2 == ) {
p = sum_even; // 函数指针指向偶数求和函数
} else {
p = sum_odd; // 函数指针指向奇数求和函数
}
double result = (*p)(n); // 调用函数指针指向的函数
cout << "结果为:" << result << endl;
return ;
}
double sum_even(int n) {
double sum = ;
for (int i = 2; i <= n; i += 2) {
sum += 1. / i;
}
return sum;
}
double sum_odd(int n) {
double sum = ;
for (int i = 1; i <= n; i += 2) {
sum += 1. / i;
}
return sum;
}
在主函数中,首先定义了一个函数指针p,然后根据输入的n的奇偶性,将p指向相应的求和函数。最后调用函数指针指向的函数,得到结果并输出。
阅读全文