用C语言编程 定义一个4行4列的矩阵,使用分行初始化的方法为所有元素赋初值。编程判断该矩阵是否是上三角阵?所谓上三角阵是指右上三角(包括对角线)不全为0,而左下三角(不包括对角线)全为0的矩阵。
时间: 2024-11-19 09:37:50 浏览: 1
矩阵_C语言_castle4zf_一个数的转置_
在C语言中,我们可以首先定义一个二维数组来表示4行4列的矩阵,并通过嵌套循环用分行初始化的方式为其赋予初值。然后,我们需要遍历这个矩阵并检查每一行是否满足上三角矩阵的条件。以下是简单的示例:
```c
#include <stdio.h>
#define ROWS 4
#define COLS 4
// 初始化矩阵并打印
void initialize_matrix(int matrix[ROWS][COLS]) {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j <= i; j++) { // 只给右上三角赋值
printf("%d ", matrix[i][j]);
}
printf("\n");
}
}
// 检查矩阵是否为上三角矩阵
int is_upper_triangle(int matrix[ROWS][COLS]) {
for (int i = 0; i < ROWS; i++) {
for (int j = i + 1; j < COLS; j++) { // 遍历左下三角部分
if (matrix[i][j] != 0) return 0; // 如果找到非零元素,则不是上三角
}
}
return 1; // 全部元素为0则返回1,表示上三角矩阵
}
int main() {
int matrix[ROWS][COLS];
// 初始化矩阵
initialize_matrix(matrix);
// 判断并输出结果
if (is_upper_triangle(matrix)) {
printf("这是一个上三角矩阵。\n");
} else {
printf("这不是一个上三角矩阵。\n");
}
return 0;
}
```
阅读全文