當前位置:首頁 » 編程語言 » 二維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