回覆列表
  • 1 # 使用者834195712159

    下面只是我構建整個線性代數計算器的其中一部分,完整的程式還在完善中。

    它的功能就是計算一個n階的方陣行列式:

    void Determinant(void)

    {

    float matrix[10][10],result=1,xshu;

    int n,i,j,k;

    do

    {

    printf("請輸入待計算的行列式的階數(n>1):\n");

    scanf("%d",&n);

    }while(n<2);

    printf("請輸入待計算的行列式(用空格隔開):\n");

    for(i=0;i<n;i++)

    {

    for(j=0;j<n;j++)

    {

    scanf("%f",&matrix[i][j]);

    }

    }

    printf("\n");

    for(k=0;k<n-1;k++)

    {

    for(i=0;i<n-1;i++)

    {

    xshu=-1*matrix[i+k+1][k]/matrix[k][k]; //算出來下一行之間的係數

    for(j=0;j<n;j++)

    {

    matrix[i+k+1][j]=matrix[i+k+1][j]+xshu*matrix[k][j];

    }

    }

    }

    /* printf("三角行列式為:\n");

    for(i=0;i<n;i++)

    {

    for(j=0;j<n;j++)

    {

    printf("%.2lf ",matrix[i][j]);

    }

    printf("\n");

    }*/

    for(i=0;i<n;i++) //計算結果

    result*=matrix[i][i];

    printf("計算結果為:%.3f\n\n",result);

    if(result!=0.0)

    printf(" 這是一個非奇異行列式\n");

    else

    printf(" 這是一個奇異行列式\n");

    printf("\n");

    return;

    }

  • 中秋節和大豐收的關聯?
  • 一斤活螻蛄大約有多少隻?