行列式化簡
行列式化簡成可以直接算出來的形似
#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++){
for(j=1;j<=n;j++){
scanf("%d",&x);
mat[i][j]=x;
}
}
for(i=1;i<=n;i++){
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;
}
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();
}