题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+…+1/n,当输入n为奇数时,调用函数1/1+1/3+…+1/n(利用指针函数)。
#include <stdio.h>
#include <stdlib.h>
double oushu(int n);
double jishu(int n);
int main()
{
int n;
double (*p)(int);
printf("请输入一个数:\n");
scanf("%d",&n);
if(n%2==0)
p=oushu;
else
p=jishu;
double r=(*p)(n);
printf("%lf\n",r);
}
double oushu(int n)
{
double sum=0;
int i;
for(i=2;i<=n;i++){
if(i%2==0)
sum+=(double)1/i;
}
return sum;
}
double jishu(int n)
{
double sum=0;
int i;
for(i=1;i<=n;i++){
if(i%2!=0)
sum+=(double)1/i;
}
return sum;
}
运行结果: