用c语言写一个蛇形矩阵
时间: 2024-09-18 22:10:10 浏览: 54
在C语言中,编写一个蛇形矩阵通常涉及到一些数组操作和循环结构。下面是一个简单的示例,它生成一个5x5大小的蛇形矩阵:
```c
#include <stdio.h>
#define ROWS 5
#define COLS 5
void printSnakeMatrix(int arr[ROWS][COLS]) {
int i, j, index = 0;
for (i = 0; i <= ROWS / 2; i++) {
// 打印上半部分的蛇形
for (j = 0; j < i; j++)
printf("%d ", arr[index++]);
printf("%d\n", arr[index++]); // 中心元素
for (j = i; j < COLS - i - 1; j++)
printf("%d ", arr[index++]);
printf("\n");
}
if (ROWS % 2) { // 如果行数是奇数,需要单独处理最后一行
for (j = 0; j < COLS / 2; j++)
printf("%d ", arr[index++]);
printf("%d\n", arr[index++]); // 中心元素
}
}
int main() {
int snakeMatrix[ROWS][COLS] = {
{1, 2, 3},
{8, 9, 4},
{7, 6, 5},
{16, 15, 14},
{13, 12, 11}
};
printSnakeMatrix(snakeMatrix);
return 0;
}
```
在这个例子中,我们首先初始化了一个5x5的蛇形矩阵,然后通过两个嵌套循环打印出蛇形的效果。`printSnakeMatrix`函数负责显示矩阵。
阅读全文