c语言编写求四阶方阵伴随矩阵的代码
时间: 2023-10-21 16:31:48 浏览: 261
以下是一个求四阶方阵伴随矩阵的 C 语言代码:
```c
#include <stdio.h>
void adjoint(int matrix[4][4], int adj[4][4]) {
int i, j, k, l, sign;
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
// Get minor of element (i, j)
k = 0;
for (l = 0; l < 4; l++) {
if (l == j) continue;
adj[i][k] = matrix[i][l];
k++;
}
k = 0;
for (l = 0; l < 4; l++) {
if (l == i) continue;
adj[k][j] = matrix[l][j];
k++;
}
// Calculate sign of element (i, j)
sign = ((i+j)%2 == 0) ? 1 : -1;
// Calculate determinant of minor
int det = adj[0][0]*adj[1][1] - adj[0][1]*adj[1][0];
// Calculate adjoint element (j, i)
adj[j][i] = sign*det;
}
}
}
int main() {
int matrix[4][4] = {{1, 2, 3, 4},
{4, 3, 2, 1},
{2, 1, 4, 3},
{3, 4, 1, 2}};
int adj[4][4];
adjoint(matrix, adj);
// Print adjoint matrix
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
printf("%d ", adj[i][j]);
}
printf("\n");
}
return 0;
}
```
这个代码假设你已经有一个四阶方阵 `matrix`,并将其伴随矩阵存储在 `adj` 中。你可以根据需要修改输入矩阵和输出矩阵。特别的,此代码假设输入矩阵的元素均为整数。
阅读全文