当前位置:首页 » 编程语言 » 二维C语言

二维C语言

发布时间: 2024-01-16 02:01:01

c语言,用二维数组解决迷宫问题。来段完整的代码吧。

好的,以下是使用二维数组解决迷宫问题的C语言代码示例:

Copy code
#include <stdio.h>

#define ROW 6 // 迷宫行数
#define COL 6 // 迷宫列数

int maze[ROW][COL] = { // 迷宫地图 1表兄银碰示障碍,0表示通路
{1, 1, 1, 1, 1, 1},
{1, 0, 0, 1, 0, 1},
{1, 0, 0, 1, 0, 1},
{1, 0, 0, 0, 0, 1},
{1, 0, 1, 1, 0, 1},
{1, 1, 1, 1, 1, 1},
};

int result[ROW][COL]; // 存放走迷宫的结果

int dfs(int row, int col) {
if (row == ROW - 1 && col == COL - 1) { // 到达终点
result[row][col] = 1;
return 1;
}
if (maze[row][col] == 0) { // 当前位置是通路
result[row][col] = 1;
if (row < ROW - 1 && dfs(row + 1, col)) { // 向下走有解
return 1;
}
if (col < COL - 1 && dfs(row, col + 1)) { // 向右走有解
return 1;
}
result[row][col] = 0; // 标记走过的路
}
return 0; // 返回无解羡谈
}

void print_result() {
printf("走迷宫的结果:\n");
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
printf("%d ", result[i][j]);
}
printf("\n");
}
}

int main() {
if (dfs(0, 0)) { // 从起点开始走迷宫
print_result();
} else {
printf("无法走出迷宫!\n");
}
return 0;
}
上述搏碰代码中,我们使用了一个二维数组 maze 来表示迷宫地图,其中 1 表示障碍,0 表示通路;另一个二维数组 result 用来存储走迷宫的结果,其中 1 表示该位置走通了, 0 表示该位置没有走通。

我们使用 dfs 函数来进行深度优先搜索,从起点 (0, 0) 开始往下、往右走,直到走到终点 (ROW-1, COL-1),如果存在通路,则将路径标记在 result 数组中,并返回 1,否则返回 0 表示无解。

最后,我们在 main 函数中调用 dfs 函数,判断是否能从起点走出迷宫,如果有解,则输出走迷宫的结果;否则,输出 "无法走出迷宫" 的提示。

② c语言二维数组如何定义字符串急。。。

c语言二维数组定义字符串的步骤如下:

1、我们先是定义一个二级指针和行列变量【int **array,row,column;】。

热点内容
不支持的压缩算法 发布:2024-11-30 00:44:54 浏览:901
机加工的编程 发布:2024-11-30 00:31:19 浏览:727
坦克世界电脑什么配置 发布:2024-11-30 00:30:41 浏览:317
如何在手机设置上找到网络的密码 发布:2024-11-30 00:18:29 浏览:414
和鹰加密锁 发布:2024-11-30 00:17:17 浏览:556
C语言舞会 发布:2024-11-30 00:15:44 浏览:377
java下载我的世界 发布:2024-11-30 00:11:08 浏览:12
华三配置器升级失败怎么回事 发布:2024-11-30 00:09:23 浏览:842
汽车空调压缩机寿命 发布:2024-11-30 00:06:04 浏览:567
电脑网络波动异常与服务器失去连接 发布:2024-11-29 23:43:19 浏览:247