C语言将n行n列矩阵中主对角线的元素赋值为0,主对角线上方的元素赋值为-1;主对角线下方的元素赋值为1。
时间: 2024-02-27 19:51:28 浏览: 86
可以使用两个嵌套的for循环来遍历矩阵,判断当前元素是否在主对角线上、下或者上方,下方。如果在主对角线上,则将其赋值为0;如果在主对角线上方,则将其赋值为-1;如果在主对角线下方,则将其赋值为1。具体实现代码如下:
```c
#include <stdio.h>
int main() {
int n = 5; // 矩阵的维度
int matrix[n][n]; // 定义矩阵
// 遍历矩阵,给主对角线及其上下方元素赋值
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (i == j) {
matrix[i][j] = 0; // 主对角线元素为0
} else if (i < j) {
matrix[i][j] = -1; // 主对角线上方元素为-1
} else {
matrix[i][j] = 1; // 主对角线下方元素为1
}
}
}
// 打印矩阵
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
输出结果如下:
```
0 -1 -1 -1 -1
1 0 -1 -1 -1
1 1 0 -1 -1
1 1 1 0 -1
1 1 1 1 0
```
阅读全文