我应该对这段代码做出哪些改变,以便解决线性方程组的问题?

时间:2016-10-10 08:39:04

标签: c loops matrix multidimensional-array linear-algebra

#include<stdio.h>
int main()
{
    int i,j,k,n;
    float A[20][20],c,x[10];
    scanf("%d",&n);//size of matrix
    for(i=1; i<=n; i++)
    {
        for(j=1; j<=(n+1); j++)
        {
            printf(" A[%d][%d]:", i,j);
            scanf("%f",&A[i][j]);
        }
    }
    //looking for elements in the diagonal matrix
    for(j=1; j<=n; j++)
    {
        for(i=1; i<=n; i++)
        {
            if(i!=j)
            {
                c=A[i][j]/A[j][j];
                for(k=1; k<=n+1; k++)
                {
                    A[i][k]=A[i][k]-c*A[j][k];
                }
            }
        }
    }

    for(i=1; i<=n; i++)
    {
        x[i]=A[i][n+1]/A[i][i];
        printf("\n x%d=%f\n",i,x[i]);//solution
    }
    return(0);
}

打印“#IO”之类的东西。该算法应该有三个方程,其中n个变量作为输入。我认为问题是当我除以零时,但我不知道我可以添加什么以避免这种情况。

0 个答案:

没有答案