龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

求N阶行列式的值

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:

改变N的值可以求N阶行列式的值

#define N 4

  #include

  #include

  void main()

  {

   int i,j,m,n,s,t,k=1;

   double a[N][N],f=1,c,x,sn;

   for (i=0;i

   for (j=0;j

   scanf ("%lf",&a[i][j]);

   for (i=0,j=0;i

   {

   if (a[i][j]==0)

   {

   for (m=i;a[m][j]==0;m++);

   if (m==N)

   {

   sn=0;

   printf("detA=%lf

",sn);

   exit(0);

   }

   else

   for (n=j;n

   {

   c=a[i][n];

   a[i][n]=a[m][n];

   a[m][n]=c;

   }

   k*=(-1);

   }

   for (s=N-1;s>i;s--)

   {

   x=a[s][j];

   for (t=j;t

   a[s][t]-=a[i][t]*(x/a[i][j]);

   }

   }

   for (i=0;i

   f*=a[i][i];

   sn=k*f;

   printf ("detA=%lf

",sn);

  }<

  

精彩图集

赞助商链接