目录
题目要求
利用C语言编程输出一个6*6矩阵,将其对角线上的元素置1,次对角线置-1,其余元素为0。
效果预览
为了方便理解,我们能利用Microsoft Excel来进行效果预览,在Excel表格中创建一个6*6的单元格矩阵,调整行高和列宽参数尽量让其形成一个个由正方形组成的矩阵,然后将其对角线上的元素填写1,次对角线填写-1,其余元素为0。最后我们得到了如下图1-1的效果预览。
![](https://i-blog.csdnimg.cn/direct/9b1b72458c3a4bc5b85c0b801da72738.jpeg)
具体实现
首先声明一个6*6的二维数组matrix;然后使用两个 for 循环遍历数组的每一个元素,其中 i 表示行数,j 表示列数;
判断当前元素的位置是否在对角线上或者次对角线上。
- 如果是对角线上的元素,即i和j相等的位置,将当前元素置1。
- 如果是次对角线上的元素,即i和j之和等于5的位置,将当前元素置-1。
- 如果是其他位置,将当前元素置0。
最后打印输出矩阵。
代码
#include <stdio.h>
void main() {
int matrix[6][6];
int i,j;
for(i=0; i<=5; i++)
for(j=0; j<=5; j++) {
if(i==j)
matrix[i][j]=1;
else if(i+j==5)
matrix[i][j]=-1;
else
matrix[i][j]=0;
}
for(i=0; i<=5; i++) {
for(j=0; j<=5; j++)
printf("%d ",matrix[i][j]);
printf("\n");
}
}
运行结果
![](https://i-blog.csdnimg.cn/direct/680acc485921419bafb84625220a6d38.jpeg)