输入奇数,实现双对角线元素值为1,其他为0 c语言
时间: 2024-10-19 14:16:51 浏览: 16
实施步骤-klmbg4ge4a-pdf
在C语言中,要实现一个矩阵(二维数组)的输入,其中输入的奇数位置形成两条对角线并且值为1,其余位置为0,可以按照以下步骤编写程序:
```c
#include <stdio.h>
#define ROWS 5 // 定义矩阵行数
#define COLS 5 // 定义矩阵列数
// 函数用于打印矩阵
void print_matrix(int matrix[ROWS][COLS]) {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
}
int main() {
int matrix[ROWS][COLS] = {0}; // 初始化矩阵全为0
// 输入奇数并设置对角线元素为1
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
if ((i + j) % 2 == 1 || (i == j) || (i == ROWS - j - 1)) {
matrix[i][j] = 1;
}
}
}
print_matrix(matrix); // 打印矩阵
return 0;
}
```
在这个程序中,我们首先定义了一个`ROWS x COLS`大小的矩阵,并初始化所有元素为0。然后通过两层嵌套循环遍历矩阵,当元素位于对角线上(即`(i + j)`为奇数、`i`等于`j`或`i`等于`ROWS - j - 1`),将该位置的元素设为1。
最后,我们调用`print_matrix()`函数来显示结果矩阵。
阅读全文