行列式的计算

 1 #include<stdio.h>
 2 #define  ROW 4
 3 #define COV 4
 4 
 5 
 6 int getkeys(int array[ROW][COV],int n)
 7 {
 8     int temp[ROW][COV];
 9     int num=0;
10     int p=0,q=-1;
11     int keke;
12     int i,j,k;
13     int a=0,b=0;
14     if(n==1)
15     {
16         return array[0][0];
17     }
18     for(i=0;i<n;i++)
19     {
20         a=0;b=0;
21         for(j=0;j<n;j++)
22         {
23             if(j==i)
24                 continue;
25             for(k=1;k<n;k++)
26             {
27                 temp[a][b]=array[j][k];
28                 b++;
29             }
30             b=0;
31             a++; 
32         }
33         if(i%2==0)
34             q=1;
35         else
36             q=-1;
37     
38 
39     num+=array[i][0]*q*getkeys(temp,n-1);
40 
41     }
42     return num;
43  } 
44  
45  int main()
46  {
47      int keys[ROW][COV]={1,12,33,43,12,5,57,32,67,5,7,2,46,6,8,1};
48     int i=getkeys(keys,4);
49      printf("%d",i);
50  }
原文地址:https://www.cnblogs.com/ncoheart/p/9981181.html