double ca(int d,int n,int cou)
{
int a,b,c,e,flag;
double k;
if(d==n-1)
{
result=1;
for(a=0;a<n;a++)
result*=num[a][a];
if(result==0)
return 0;
else if(cou%2==0)
return result;
else if(cou%2!=0)
{
result=-result;
return result;
}
}
else
{
if(num[d][d]==0)
{
flag=1;
for(c=d+1;c<n;c++)
{
if(num[d][c]!=0)
{
for(e=0;e<n;e++)
{
k=num[e][d];
num[e][d]=num[e][c];
num[e][c]=k;
}
flag=0;
cou++;
}
}
if(flag==1)
return 0;
}
for(a=d+1;a<n;a++)
{
k=num[a][d]/num[d][d];
for(b=d;b<n;b++)
num[a][b]-=k*num[d][b];
}
ca(d+1,n,cou);
//这里是不是要加一句return语句
}
}