解题思路:
先将行列式转化为三角形行列式
参考代码:
#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语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:806 |
C语言程序设计教程(第三版)课后习题5.7 (Java代码)浏览:910 |
【简单计算】 (C语言代码)浏览:642 |
WU-输出九九乘法表 (C++代码)浏览:1852 |
三角形 (C语言代码)浏览:965 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:350 |
母牛的故事 (C语言代码)浏览:1045 |
Hello, world! (C语言代码)浏览:766 |
printf基础练习2 (C语言代码)浏览:547 |
C二级辅导-计负均正 (C语言代码)浏览:523 |