输入一个n*n的double二维数组,用C语言找到它的对角矩阵,下三角矩阵,上三角矩阵。
时间: 2023-05-24 10:01:05 浏览: 139
C语言判断一个二维数组是否为上三角矩阵的示例代码.pdf
可以使用以下代码来找到输入的二维数组的对角矩阵、下三角矩阵和上三角矩阵:
```c
#include <stdio.h>
void print_matrix(double matrix[][5], int n) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
printf("%.2f ", matrix[i][j]);
}
printf("\n");
}
}
void find_diagonal(double matrix[][5], int n) {
double diagonal[5] = {0};
for (int i = 0; i < n; i++) {
diagonal[i] = matrix[i][i];
}
printf("Diagonal matrix:\n");
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (i == j) {
printf("%.2f ", diagonal[i]);
} else {
printf("0 ");
}
}
printf("\n");
}
}
void find_lower_triangle(double matrix[][5], int n) {
printf("Lower triangle matrix:\n");
for (int i = 0; i < n; i++) {
for (int j = 0; j < i; j++) {
printf("%.2f ", matrix[i][j]);
}
printf("\n");
}
}
void find_upper_triangle(double matrix[][5], int n) {
printf("Upper triangle matrix:\n");
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
printf("%.2f ", matrix[i][j]);
}
printf("\n");
}
}
int main() {
double matrix[5][5] = {
{1.0, 2.0, 3.0, 4.0, 5.0},
{6.0, 7.0, 8.0, 9.0, 10.0},
{11.0, 12.0, 13.0, 14.0, 15.0},
{16.0, 17.0, 18.0, 19.0, 20.0},
{21.0, 22.0, 23.0, 24.0, 25.0}
};
int n = 5;
printf("Input matrix:\n");
print_matrix(matrix, n);
find_diagonal(matrix, n);
find_lower_triangle(matrix, n);
find_upper_triangle(matrix, n);
return 0;
}
```
这段代码会输出输入的二维数组、对角矩阵、下三角矩阵和上三角矩阵。对于其他类型的问题,我会尽力回答,欢迎提问。
阅读全文