行列式C程序
刚学C,又刚学线性代数,不幸上线代的时候看窗外美女,被线代老师罚做10道多阶行列式,不过只要给出答案,嘿嘿,咱要学以致用,以毒功毒,用C编了个矩阵程序,和大家分享一下,给有用的同仁用下,算法如下:#include<stdio.h>
#define LINE printf("================================================\n\n");
main()
{
int *x,*t,n,i,j,a1=0,a2=0,s=1,v,sum;
LINE
printf("请输行列式阶数:");
scanf("%d",&n);
x=t=calloc(n*n,sizeof(int));
if(n>=2){
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",t++);
if(n>2){
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{ v=i+j;
if(v>=n)v=v-n;
s*=*(x+n*j+v);
}
a1+=s;
}
s=1;
for(i=0;i<n;i++)
{
for(j=n-1;j>=0;j--)
{v=i-j;
if(v<0) v=n+i-j-1;
s*=*(x+n*j+v);
}
a2+=s;
}
sum=a1-a2;
}
else
sum=*x**(x+3)-*(x+1)**(x+2);
LINE
printf("\n%d",sum);
}
else
{LINE
printf("输入有误!\n");
}
}