这周作业是编写一个高斯消元法的算法,所以我就自编了一个,逻辑比较简单,但是我在运行的时候总是不显示运行结果,卡在那里,请大佬帮我看一下问题出在哪里
#include <iostream>
#include<math.h>
using namespace std;
#define N 3
double A[N][N + 1] = { {10,-1,-2,7.2},
{-1,10,-2,8.3},
{-1,-1,5,4.2} };
double X[N] = { 0,0,0 };
int main()
{
long i, j, k;
double s;
for (k = 0; k < N - 1; k++) {
for (i = k + 1; i <= N - 1; i++) {
A[i][k] = A[i][k] / A[k][k];
for (j = k + 1; j <= N; j++)
A[i][j] = A[i][j] - A[i][k] * A[k][j];
}
for (k = N - 1; k >= 0; k--)
{
s = 0;
for (j = k + 1; j <= N - 1; j++)
{
s = s + X[j] * A[k][j];
X[k] = (A[k][N]) - s / A[k][k];
}
}
}
printf("\n该方程的解向量为:\n");
for (i = 0; i < N; i++)
{
printf(" %lf", X[i]);
}
}