如何在C语言中创建一个矩阵,其正对角线以上的元素都设置为1,而其他元素则是对应下标减一的值
时间: 2024-10-23 19:21:01 浏览: 7
在C语言中,创建一个矩阵并初始化正对角线以上元素为1,其余元素为对应下标减一的值,可以按照二维数组的方式来操作。假设我们有一个n x n的矩阵,我们可以这样做:
```c
#include <stdio.h>
#define ROWS 5 // 或者替换成实际需要的行数
#define COLS 5 // 或者替换成实际需要的列数
int main() {
int matrix[ROWS][COLS];
// 初始化对角线及正上方元素为1
for (int i = 0; i < ROWS; ++i) {
for (int j = 0; j < COLS; ++j) {
if (i == j || i + j >= ROWS - 1) { // 包括对角线
matrix[i][j] = 1;
} else {
matrix[i][j] = i + j; // 对角线上方的元素,等于下标之和减1
}
}
}
// 打印矩阵
for (int i = 0; i < ROWS; ++i) {
for (int j = 0; j < COLS; ++j) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
在这个例子中,我们首先声明了一个二维数组`matrix`,然后通过两层嵌套循环遍历每个元素。如果元素位于对角线或者对角线上方(即行索引加上列索引大于等于总行数减1),就将该元素设为1;否则设为其下标之和减1。
阅读全文