将n行n列矩阵中主对角线的元素赋值为0,主对角线上方的元素赋值为-1;主对角线下方的元素赋值为1的c语言代码
时间: 2024-06-08 07:09:51 浏览: 144
以下是实现上述功能的C语言代码:
```c
#include <stdio.h>
int main() {
int n;
printf("请输入矩阵的大小n:");
scanf("%d", &n);
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;
} else if(i<j) {
matrix[i][j] = -1;
} else {
matrix[i][j] = 1;
}
}
}
printf("生成的矩阵为:\n");
for(int i=0; i<n; i++) {
for(int j=0; j<n; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
程序首先要求用户输入矩阵的大小n,然后声明一个n行n列的矩阵。接着通过两层循环,根据题目要求对矩阵进行赋值。最后输出生成的矩阵。
相关问题
将n行n列矩阵中主对角线的元素赋值为0,主对角线上方的元素赋值为-1;主对角线下方的元素赋值为1。
可以使用两个嵌套的for循环来遍历矩阵,判断当前元素是否在主对角线上、下或者上方,下方。如果在主对角线上,则将其赋值为0;如果在主对角线上方,则将其赋值为-1;如果在主对角线下方,则将其赋值为1。具体实现代码如下:
```python
n = 5 # 矩阵的维度
matrix = [[0] * n for _ in range(n)] # 初始化矩阵
# 遍历矩阵,给主对角线及其上下方元素赋值
for i in range(n):
for j in range(n):
if i == j:
matrix[i][j] = 0 # 主对角线元素为0
elif i < j:
matrix[i][j] = -1 # 主对角线上方元素为-1
else:
matrix[i][j] = 1 # 主对角线下方元素为1
# 打印矩阵
for i in range(n):
print(matrix[i])
```
输出结果如下:
```
[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]
```
将n行n列矩阵中主对角线的元素赋值为0,主对角线上方的元素赋值为-1;主对角线下方的元素赋值为1。C语言
可以使用双重循环遍历矩阵,根据元素所在的位置进行不同的赋值操作,具体代码如下:
```c
int n = 3; // 矩阵的行数和列数
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
}
}
}
```
这样就可以将矩阵中主对角线的元素赋值为0,主对角线上方的元素赋值为-1,主对角线下方的元素赋值为1。
阅读全文