,C中关于函数指针的有关问题

求助,C中关于函数指针的问题
利用指向函数的指针,调用多个函数,根据书中例子,改变了一下,但一直没结果,不知道哪错了,程序如下:
#include   <stdio.h>
typedef   float   (*fun)(float);       //定义一个指向函数的指针
float   f1(float   x)
{
float   f;
f=1+x*x;
return   f;
}
float   f2(float   x)
{
                  float   f;
                  f=1+x*x+x*x*x;
                  return   f;
}
float   integral   (fun   fp,float   a,float   b)     //定积分
{
float   s,h,y;
int   n,i;
s=(fp(a)+fp(b))/2;
n=100;
h=(b-a)/n;
for(i=1;i <n;i++)
s=s+fp(a+i*h);
y=s*h;
return   y;
}
void   main()
{
float   y1,y2;
y1=integral(f1,0,1);
                  y2=integral(f2,0,2);
printf( "y1=\ny2=\n ",y1,y2);
}


------解决方案--------------------
printf( "y1=%f\ny2=%f\n ",y1,y2);

------解决方案--------------------
唉,前面一大段,就是最后一行 :)