解题思路:
先将行列式转化为三角形行列式
参考代码:
#include<iostream> using namespace std; const int N = 7; double arr[N][N]; int n; double m = 1; void fun(int x, int y, double rate) { for(int i = 0; i < n; i ++) { arr[y][i] -= rate * arr[x][i]; } } int main(){ cin >> n; for ( int i = 0; i < n; i ++) for ( int j = 0; j < n; j ++) cin >> arr[i][j]; for ( int i = 0; i < n-1; i ++) { for ( int j = i + 1; j < n; j ++) { if(arr[j][i] != 0) { int jj = j + 1; while(arr[i][i] == 0){ fun(jj++,i,1); } fun(i,j,arr[j][i]/arr[i][i]); } } } /* for (int i = 0; i < n; i ++) { for (int j = 0; j < n; j ++) cout << arr[i][j] << " "; cout << endl; } */ for ( int i = 0; i < n; i ++) m *= arr[i][i]; if(m==-0) m = 0; cout << m; }
0.0分
0 人评分
母牛的故事 (C语言代码)浏览:738 |
模拟计算器 (C语言代码)浏览:882 |
蓝桥杯历届试题-九宫重排 (C++代码)浏览:2783 |
【数组的距离】 (C语言代码)浏览:728 |
简单的for循环浏览:1408 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:522 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:636 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:326 |
打印十字图 (C语言代码)浏览:2701 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:1456 |