/* Note:Your choice is C IDE */
//这个程序的思想很简单,但是变量太多,也太杂,所以看起来不太舒服。不过这个程序我用了4天时间才成功,还是很有成就感的!
#include "stdio.h"
#define N 5
void main()
{ //将N改为需要计算的行列式
double a[N][N],p=1,m;int b,c,d,e,f,t,i,k,j=N,h,w,v=0,sum=0;
for (i=0;i<N;i++){
for (b=0;b<N;b++){
scanf ("%lf",&a[i][b]);}}
b=0,c=0,k=1,d=1,m=0;
for (w=0;w<N-1;w++){
for (i=0;i<j-1;i++){
if(a[b][c]==0){sum++;
for(e=v;e<N;e++){
h=a[b][e];
a[b][e]=a[k][e];
a[k][e]=h;}}k++;}
for (i=0;i<j-1;i++){
m=a[d][c]/a[b][c];
for (f=v;f<N;f++){
a[d][f]-=a[b][f]*m;}
d++;}
b++,c++,j--,v++,k=b+1,d=b+1;}
for (i=0;i<N;i++){
p=p*a[i][i];}
if (sum%2==0){
p=p;}
else {
p=-p;}
printf ("\nThe result of the array is : %f ",p);
}