改变N的值可以求N阶行列式的值 #define N #include <stdioh> #include <stdlibh> void main() { int ijmnstk=; double a[N][N]f=cxsn; for (i=;i<N;i++) for (j=;j<N;j++) scanf (%lf&a[i][j]); for (i=j=;i<N&&j<N;i++j++) { if (a[i][j]==) { for (m=i;a[m][j]==;m++); if (m==N) { sn=; printf(detA=%lf\nsn); exit(); } else for (n=j;n<N;n++) { c=a[i][n]; a[i][n]=a[m][n]; a[m][n]=c; } k*=(); } for (s=N;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=;i<N;i++) f*=a[i][i]; sn=k*f; printf (detA=%lf\nsn); } < |