C语言把数组简化成上三角形式
时间: 2024-11-30 12:09:30 浏览: 8
C语言本身并没有内置功能将数组直接转换成上三角矩阵的形式,但这可以通过循环结构和条件判断来实现。上三角矩阵的特点是除了对角线以上的元素都为0外,其余元素非零。以下是一个简单的示例,展示如何手动遍历一个二维数组并设置其下三角部分为0:
```c
#include <stdio.h>
#define ROWS 5
#define COLS 4
void makeUpperTriangle(int arr[ROWS][COLS]) {
int i, j;
for (i = 0; i < ROWS; i++) {
for (j = 0; j < i; j++) { // 只有当行小于列时才赋值0
arr[i][j] = 0;
}
}
}
int main() {
int matrix[ROWS][COLS] = {{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12},
{13, 14, 15, 16},
{17, 18, 19, 20}};
makeUpperTriangle(matrix);
// 打印结果矩阵
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
在这个例子中,`makeUpperTriangle`函数通过两个嵌套循环遍历矩阵,并根据需要将元素置为0。运行此程序,会看到输出的是一个上三角阵列。
阅读全文