#include <stdio.h> #include <stdlib.h> #define N 10 //矩阵大小范围 /* * 使用已经求出的x,向前计算x(供getx()调用) * float a[][] 矩阵U * float x[] 方程组解 * int i 解的序号(数组X元素序号) * int n 矩阵大小 * return 公式中需要的和 */ float getmx(float a[N][N], float x[N], int i, int n) { float mx = 0; int r; for(r=i+1; r<n; r++) { mx += a[i][r] * x[r]; } return mx; } /* * 使用已经求出的y,向前计算y(供gety()调用) * float a[][] 矩阵L * float y[] 数组Y * int i 数组Y元素序号 * int n 矩阵大小 * return 公式中需要的和 */ float getmy(float a[N][N], float y[N], int i, int n) { float my = 0; int r; for(r=0; r<n; r++) { if(i != r) my += a[i][r] * y[r]; } return my; } /* * 解方程组,计算某x * float a[][] 矩阵U * float x[] 方程组解 * int i 解的序号 * int n 矩阵大小 * return 方程组的第i个解(数组X的第i个元素值) */ float getx(float a[N][N], float b[N], f