程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言基礎知識 >> 求N階行列式的值

求N階行列式的值

編輯:C語言基礎知識
改變N的值可以求N階行列式的值 #define N 4
  #include <stdio.h>
  #include <stdlib.h>
  void main()
  {
   int i,j,m,n,s,t,k=1;
   double a[N][N],f=1,c,x,sn;
   for (i=0;i<N;i++)
    for (j=0;j<N;j++)
     scanf ("%lf",&a[i][j]);
   for (i=0,j=0;i<N&&j<N;i++,j++)
   {
    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<N;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<N;t++)
      a[s][t]-=a[i][t]*(x/a[i][j]);
    }
   }
   for (i=0;i<N;i++)
    f*=a[i][i];
   sn=k*f;
   printf ("detA=%lf ",sn);
  }<
 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved