安徽大学(线性代数第一章详细答案)

安徽大学(线性代数第一章详细答案)_第1张图片

安徽大学(线性代数第一章详细答案)_第2张图片

安徽大学(线性代数第一章详细答案)_第3张图片

安徽大学(线性代数第一章详细答案)_第4张图片

安徽大学(线性代数第一章详细答案)_第5张图片

安徽大学(线性代数第一章详细答案)_第6张图片

安徽大学(线性代数第一章详细答案)_第7张图片

安徽大学(线性代数第一章详细答案)_第8张图片

安徽大学(线性代数第一章详细答案)_第9张图片

安徽大学(线性代数第一章详细答案)_第10张图片

安徽大学(线性代数第一章详细答案)_第11张图片

安徽大学(线性代数第一章详细答案)_第12张图片

安徽大学(线性代数第一章详细答案)_第13张图片

安徽大学(线性代数第一章详细答案)_第14张图片
附录1

#pragma warning(disable:4996)
#include 
#include 

#define MAXN 100
#define zero(x) (fabs(x)<1e-10)

struct mat{
    int n, m;
    double data[MAXN][MAXN];
};
double det(const mat &a){
    int i, j, k, sign = 0;
    double b[MAXN][MAXN], ret = 1, t;
    if (a.n != a.m) return 0;
    for (i = 0; ifor (j = 0; jfor (i = 0; i//行标+列标
        if (zero(b[i][i])){
            for (j = i + 1; j//行标
                if (!zero(b[j][i]))
                    break;
            if (j == a.n) return 0;
            for (k = i; k//列标
                t = b[i][k], b[i][k] = b[j][k], b[j][k] = t;
            sign++;
        }
        ret *= b[i][i];
        for (k = i + 1; k//列标
            b[i][k] /= b[i][i];
        for (j = i + 1; j//行标
            for (k = i + 1; k//列标
                b[j][k] -= b[j][i] * b[i][k];
    }
    if (sign & 1) ret = -ret;
    return ret;
}
int main(){
    mat a;
    int i, j, n;
    while (scanf("%d", &n), n){
        a.n = a.m = n;
        for (i = 0; ifor (j = 0; jscanf("%lf", &a.data[i][j]);
        printf("det a : %.2lf\n", det(a));
    }
    return 0;
}

安徽大学(线性代数第一章详细答案)_第15张图片

安徽大学(线性代数第一章详细答案)_第16张图片

安徽大学(线性代数第一章详细答案)_第17张图片

你可能感兴趣的:(安大线性代数习题册)