有关通用函数的编写
现需要编写一个计算方程解的通用程序,算法基本上确定,只是不知道该怎么定义主个未知函数,代码如下#include "stdio.h"
#include "math.h"
float f(float x);
float newton2(float x0,float e);
float newton1(float x0,float e);
float newton3(float x0,float e);
void main()
{ float x0;
float e;
printf("Please Input X0:");
scanf("%f",&x0);
printf("please Input e:");
scanf("%f",&e);
printf("用割线法的结果是:x=%f\n",newton1(x0,e));
printf("用拟牛顿迭代法的结果是:x=%f\n",newton2(x0,e));
printf("用Steffenson法的结果是:x=%f\n",newton3(x0,e));
}
割线法
float newton1(float x0,float e)
{
float xk1,xk2,xk3;
xk1=x0-10*e;
xk2=x0;
do
{
xk3=xk2-f(xk2)*(xk2-xk1)/(f(xk2)-f(xk1));
xk1=xk2;
xk2=xk3;
}while(fabs(xk2-xk1)>e);
return xk3;
}
这里定义了一个广义的函数f,需要用户输入,但TURBOC不能识别这个函数,本人只知道从外面输入单个字符是用GETCHAR等函数,还不知道如何从外面录入一个函数,望高手点拨