#include"stdio.h"
#include"math.h"
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
zhuiganfa(n,a,b,c,f,x)
int n;
double *a,*b,*c,*f,*x;
{
int i;
double B[3],y[4];
B[0]=c[0]/b[0];
for(i=1;i<n-1;i++)
B[i]=c[i]/(b[i]-a[i]*B[i-1]);
y[0]=f[0]/b[0];
for(i=1;i<n;i++)
y[i]=(f[i]-a[i]*y[i-1])/(b[i]-a[i]*B[i-1]);
x[n-1]=y[n-1];
for(i=n-2;i>=0;i--)
x[i]=y[i]-B[i]*x[i+1];
}
main()
{
double a[4]={0,-1,-1,-1},b[4]={2,2,2,2},c[3]={-1,-1,-1},f[4]={0,0,0,5},x[4];
int i;
zhuiganfa(4,a,b,c,f,x);
for(i=0;i<4;i++)
printf("%f\n",x[i]);
}
转载于:https://blog.51cto.com/lucky/19403