题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+…+1/n。
当输入n为奇数时,调用函数1/1+1/3+…+1/n(利用指针函数)。
指针函数:本质是一个函数,不过它的返回值是一个指针。
函数指针:本质是一个指针,该指针的地址指向了一个函数,所以它是指向函数的指针。
123456789101112131415161718192021222324252627282930313233343536373839404142 | float Odd(int n)//求偶数的函数{ float i = 2; float sum = 0.0; while (i <= n) { sum = sum + 1/i; i = i + 2; } return sum;}float Even(int n)//求奇数的函数{ float i = 1; float sum = 0.0; while (i <= n) { sum = sum + 1/i; i = i + 2; } return sum;}int main() { int input = 0; printf("请输入一个数字:->"); scanf("%d",&input); float Odd(int input);//声明这两个函数 float Even(int input); float (*p)(int); if (input % 2 == 0) { p = Odd; } else { p = Even; } float result = p(input); printf("%lf",result); return 0;} |