题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数
1/1+1/3+...+1/n(利用指针函数)
代码实现:
//主程序
float sum;
int n = 9; //给n赋值
if(n%2==0) //n为偶数
{
printf("Even=");
sum=dcall(peven,n);
}
else //n为奇数
{
printf("Odd=");
sum=dcall(podd,n);
}
printf("%f",sum);
float peven(int n) //偶数时求和
{
float s;
int i;
s=0;
for(i=2;i<=n;i+=2)
s+=1/(float)i;
return(s);
}
float podd(n) //奇数时求和
int n;
{
float s;
int i;
s=0;
for(i=1;i<=n;i+=2)
s+=1/(float)i;
return(s);
}
float dcall(fp,n)
float (*fp)();
int n;
{
float s;
s=(*fp)(n);
return(s);
}