c语言程序计算四阶行列式
#include <stdio.h>
#include <stdlib.h>
int main()
{while(1){
int a[4][4],i,j,m,n,b[24],k=0,l=0;
printf("请输入四阶矩阵:\n");
for(i=0;i<4;i++) //输入四阶方程式
{
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
}
for(i=0;i<4;i++) //先不考虑(-1)的n+j次方,计算出每一个值,四阶方程式共有24个
{
for(j=0;j<4;j++)
{if(j==i)
continue;
for(m=0;m<4;m++)
{if((m==i)||(m==j))
continue;
for(n=0;n<4;n++)
{if((n==m)||(n==j)||(n==i))
continue;
b[k]=a[0][i]*a[1][j]*a[2][m]*a[3][n];
k=k+1;
}
}
}
}
j=0;
for(i=1;i<24;i++) //考虑(-1)的n+j次方,那24个值得正负规律为+--++--++--++--++--++--+
{
if(j<2)
l=l-b[i];
if(j>=2)
l=l+b[i];
j++;
if(j==4)
j=0;
}
printf("四阶矩阵结果为:%d\n\n",l+b[0]);
}
}