c语言输入mn创建一个迷宫代码
时间: 2024-12-13 19:18:43 浏览: 7
在C语言中创建一个简单的二维迷宫,通常需要先定义一个数组或结构体来表示每个单元格的状态,比如0代表空地可以通行,1代表墙壁不可通行。下面是一个基本的步骤:
1. 定义迷宫矩阵:假设`m`是行数,`n`是列数,你可以用一个二维数组`maze[m][n]`来存储迷宫。
2. 输入生成规则:对于每个单元格,可以选择随机填充0(空地)或1(墙壁)。经典的生成算法有深度优先搜索(DFS)、宽度优先搜索(BFS)或是Prim算法等,不过这通常会在用户交互之外完成,例如通过随机数生成。
```c
#include <stdio.h>
#include <stdlib.h>
#define ROWS m
#define COLS n
// 示例函数:随机生成迷宫
void generate_maze(int maze[ROWS][COLS]) {
int i, j;
// 这里只是一个简化的示例,实际实现可能会更复杂
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
if (/* 随机选择 */ rand() % 2) { // 50%的概率设为墙壁
maze[i][j] = 1;
} else {
maze[i][j] = 0;
}
}
}
}
int main() {
int maze[ROWS][COLS];
int m, n;
printf("Enter the number of rows and columns (m x n): ");
scanf("%d %d", &m, &n);
// 生成迷宫
generate_maze(maze);
// 输出迷宫,简化版
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
printf("%d ", maze[i][j]);
}
printf("\n");
}
return 0;
}
```
阅读全文