[求助]怎样编写参数数目不确定的程序?
在毕业设计中遇到这样一类问题:要编定一个通用子程序,但参数个数是变化的。举个例子:要求方程ax*x+bx+c=0的实根,参数a、b、c之中的一个或数个(反正数目不定)在不同的场合要求用实参传值给它。我编写的程序如下:
double f(double pc[],double x)
{ return(pc[0]*x*x-pc[1]*x+pc[2]);}
/********** 弦截法求方程实根 **********/
double Root(double x1,double x2,double ec,double (*fx)(),double pc[])
{
double x,y,y1;
y1=(*fx)(pc,x1);
do
{
x=(x1*(*fx)(pc,x2)-x2*(*fx)(pc,x1))/((*fx)(pc,x2)-(*fx)(pc,x1)); /* 求弦与x轴的交点 */
y=(*fx)(pc,x);
if(y*y1>0)
{
y1=y;
x1=x;
}
else x2=x;
}while(fabs(y)>ec);
return(x);
}
main()
{
double x,p[3];
p[0]=1,p[1]=2,p[2]=1;
x=Root(0,10,0.001,f,p);
printf("x=%lf\n",x);
}
谁能帮我解决一下问题呢?