简单的行列式求值的模版
题目:http://acm.njupt.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=1035
下面是代码:
#include <stdio.h>
#define maxn 11
#define e 1e-6
double c[maxn][maxn];
bool zero(double a)
{
return a > -e && a < e;
}
double det(int n)
{
double q,ans = 1;
int i,j,k;
for(i = 0; i < n; i++)
{
if(zero(c[i][i]))
{
for(j = i + 1; j < n; j++)
{
if(!zero(c[j][i])) break;
}
if(j == k) return 0;
ans *= -1;
for(k = i; k < n; k++)
{
double temp = c[j][k];
c[j][k] = c[i][k];
c[i][k] = temp;
}
}
ans *= c[i][i];
for(j = i + 1; j < n; j++)
{
i