行列式化简

    科技2022-07-17  118

    行列式化简

    行列式化简成可以直接算出来的形似

    #include<stdio.h> #include<conio.h> int main() { int x,n,i,j,k,count=0,y,m,c; printf("阶数n="); scanf("%d",&n); float mat[n][n],b; for(i=1;i<=n;i++){//i是行数,j是列数,一行一行输入。 for(j=1;j<=n;j++){ scanf("%d",&x); mat[i][j]=x; } } for(i=1;i<=n;i++){ //i对角线行和列的数;j是行数;k是列数 if(mat[i][i]==0){ for(m=i;m<=n;m++){ if(mat[m][i]!=0){ for(j=1;j<=n;j++){ c=mat[i][j]; mat[i][j]=mat[m][j]; mat[m][j]=c; //调换第i行和第m行 } break; } else{ goto here; } } } for(j=i+1;j<=n;j++){ b=mat[j][i]/mat[i][i]; for(k=i;k<=n;k++){ mat[j][k]=mat[j][k]-b*mat[i][k]; //化为上三角 } } } here: printf("\n"); for(i=1;i<=n;i++) for(j=1;j<=n;j++){ printf("%.2f ",mat[i][j]); count++; if (count%n==0) printf("\n"); } getch(); }
    Processed: 0.011, SQL: 8