小弟初学,,,请各位一定要帮忙修改一下,,,感激不禁,,在线等。。
问题是利用指针函数:编写一个函数,输入N为偶数是调用函数求1/2+|1/4+...+12/N
输入N为奇数时,调用函数求1/1+1/3+....+1/n.
###现在想增加个分数的显示结果,,,,,请帮忙修改···
#include<stdio.h>
float n,x,y,z,a;
float func1(float z);
float one(float x);
float two(float y);
int main()
{
printf("please enter a number:\n");
scanf("%f",&n);
a=func1(n);
printf("the answer is %f\n",a);
return 0;
}
float func1(float z)
{
float (*func0)(float); //有返回值,有参数
if ((int)z%2==0)
func0=one;
else
func0=two;
return (*func0)(z);
}
float one(float x)
{float b=0,i;
for(i=1;i<=(x/2);i++)
b+=(float)1/(2*i);
return b;
}
float two(float y)
{float c=0,j;
for(j=1;j<=(y+1)/2;j++)
c+=(float)1/(2*j-1);
return c;
}