高斯消去法求解线性方程组

用高斯消去法求解线性方程组,代码运行不出来,请问要怎么改

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define N 10

int main(int argc, char* argv[])
{
    int n = atoi(argv[1]);
    double x[N] = { 0 };
    int i, j, k;
    double equs[N][N] = { {1,2,6,3,5,23,14,6,21,14},
            {2,8,6,10,21,3,14,21,15,23},
            {6,6,9,21,14,23,6,54,1,14},
            {21,1,2,32,2,36,21,4,2,15},
            {2,23,54,3,32,11,12,1,44,1},
            {21,12,14,1,23,24,14,21,12,11},
            {1,24,3,36,6,21,4,5,12,21},
            {21,41,45,12,32,21,41,12,4,6},
            {6,12,32,21,14,21,4,5,6,21},
            {21,12,41,8,18,32,16,14,7,17}
    };
    double B[N] = { 2,4,6,2,41,21,21,4,6,27 };

    for (k = 0; k < n; k++) {
        for (i = k + 1; i < n; i++) {
            double f = equs[i][k] / equs[k][k];
            for (j = k + 1; j < n; j++) {
                equs[i][j] = equs[i][j] - f * equs[k][j];
            }
            B[i] = B[i] - f * B[k];
        }
    }

    x[n - 1] = B[n - 1] / equs[n - 1][n - 1];
    for (k = n - 2; k >= 0; k--) {
        double sum = B[k];
        for (j = k + 1; j < n; j++) {
            sum = sum - equs[k][j] * x[j];
        }
        x[k] = sum / equs[k][k];
    }

    printf("x=");
    for (i = 0; i < n; i++) {
        printf("%f ", x[i]);
    }

    return 0;
}

我试了以下可以,你是 argv[1] 没有输入
崩了吗?

或者你可以试试用 scanf

int n;
printf("输入 n:");
scanf("%d", &n);
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^