穿越沙漠第三关C语言代码
时间: 2024-12-26 10:12:27 浏览: 4
穿越沙漠游戏通常是一个编程练习题,涉及路径搜索、数据结构等知识。这里以C语言为例,提供一个简单的迷宫求解算法——深度优先搜索(DFS)作为第三关的一个简化版本的代码示例:
```c
#include <stdio.h>
#define ROW 5 // 模拟的沙漠行数
#define COL 5 // 模拟的沙漠列数
int maze[ROW][COL] = {
{0, 1, 0, 0, 0},
{0, 0, 0, 0, 1},
{1, 0, 0, 1, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0} // 用0表示可以通行,1表示障碍
};
// 记录是否访问过的位置
int visited[ROW][COL] = {0};
// DFS 函数
void dfs(int i, int j) {
if (i >= 0 && i < ROW && j >= 0 && j < COL && !visited[i][j] && maze[i][j] == 0) {
printf("(%d,%d)\n", i, j); // 打印当前位置
visited[i][j] = 1;
dfs(i + 1, j); // 向右走
dfs(i - 1, j); // 向左走
dfs(i, j + 1); // 向下走
dfs(i, j - 1); // 向上走
}
}
int main() {
int start_i = 0, start_j = 4; // 开始位置,假设在最下方
printf("从 (%d,%d) 出发,路径为:\n", start_i, start_j);
dfs(start_i, start_j);
return 0;
}
```
这个程序定义了一个二维数组`maze`表示沙漠地图,然后使用DFS遍历迷宫,寻找从起点到终点的路径。每个点被访问后标记为`visited`,避免重复访问。
阅读全文