用C語言編寫程式,要求使用者自己設計迷宮,從出口出發

2022-01-03 13:06:39 字數 3716 閱讀 2734

1樓:郭森

#include

#include

#include

#include

#include

#define x1 (a-120)/20#define y1 (b-40)/20#define up 72

#define down 80

#define left 75

#define right 77

#define enter 13

#define esc 27

int d[21][21]=;

int a=120,b=40;

void init()

void drawlist()

}void drawfirst()

void clearold(int m,int n)void drawnew(int m,int n)void filllist()

else d[i][j]=0;

}d[0][0]=0;d[19][19]=0;

setfillstyle(1,black);

floodfill(121,41,red);

floodfill(121+19*20,41+19*20,red);

}void getway()

else;

break;}

case down:else;

break; }

case right : else;

break; }

case left : else;

break;}

case esc : exit();break;

default : break;

if(a==500&&b==420)break;

}/*switch finish*/

}/*for finish*/

}/*while finish*/

}void main()

2樓:匿名使用者

汗,這裡根本沒法畫出框框來,怎麼畫流程圖。

資料結構與演算法作業:用c語言程式設計隨機生成乙個迷宮,然後找出從入口到出口的路線圖。急!

3樓:風精靈林

幾點說明:

1.本程式是動態的,執行後自動尋找迷宮出路

2.本程式對c語言剛學完的有很大的意義.

3.四周是牆,座標(1,1)是入口,右下腳是出口

宣告:本程式用vc除錯是無法通過的需要修改

本程式除錯工具是tc.....................

#include "graphics.h"

#include "dos.h"

#include "stdlib.h"

#include "process.h"

#define max_col 14/*定義迷宮大小*/

#define max_row 14

typedef struct

offsets;

mapture(int i,int j,int k);/*標記迷宮,(i,j)標記為k模式*/

initmaze();/*初始化迷宮陣列*/

findmaze(int i,int j);/*找到了(i,j)可走,標記*/

mapmaze();/*畫出原始迷宮*/

int findpath(int row,int col);/*遞迴函式,找出迷宮路徑*/

mapbar();/*畫出方格*/

initgrap();/*初始化vga*/

print();/*迷宮走完後,輸出是否成功 */

int startx=50,starty=50;/*畫圖的螢幕座標*/

int maze[max_row][max_col];

offsets move[8]=,,,,,,,}; /*8個方向尋找*/

initmaze()/*初始化迷宮陣列 */

for(i=0;i

randomize();

for(i=1;i

for(j=1;j

}findmaze(int i,int j)/*找到 (i,j)可走*/

returnmaze(int i,int j)/*找到(i,j)可走 ,但下一步無路走則標記*/

print(int i)/*迷宮走完後,輸出是否成功*/

int findpath(int row,int col)/*用遞迴法找迷宮*/

else

findpath(next_row,next_col);/*沒有到出口繼續遞迴*/

maze[next_row][next_col]=3;

returnmaze(next_row,next_col);

}direct++;

}return(row);

}tc除錯良好

4樓:電子產品第一線

#include

#include

#include

#include

/* define the size of maze */

#define max_col 6

#define max_row 6

#define true 1

#define false 0

#define is_usable(a, b) (a >= 0 && a < max_row) && (b >= 0 && b < max_col) && maze[a][b] && (!my_maze[a][b])

static int maze[max_row][max_col];

static int target_maze[max_row][max_col];

static void init_maze();

static int move_to(int i, int j, int (*maze)[max_col], int count);

static void print_maze(int (*maze)[max_col]);

static void init_maze()

maze[1][0] = 1; /* start point */

maze[max_row - 1][max_col - 2] = 1; /* end point */

}static int move_to(int _i,int _j, int (*in_maze)[max_col], int count)

} else

}my_maze[_i][_j] = count;

/* reach the end point */

if (_i == max_row - 1 && _j == max_col - 2)

return true;

}if (is_usable(_i - 1, _j))

if (is_usable(_i + 1, _j))

if (is_usable(_i, _j - 1))

if (is_usable(_i, _j + 1))

return false;

}static void print_maze(int (*maze)[max_col])

printf("\n");}}

int main()

else }}

vc60下正常執行

用c語言編寫程式,得出1 ,用C語言編寫程式,得出1 1 2 1 3 1 100的值

include int main void printf num d n num return 0 include int main 這樣是不更簡潔呢?物聯網校企聯盟技術部 void main include void main main printf d sum main 不懂再問,給分哦,親。i...

用C語言編寫程式,用C語言編寫三個程式

第一題 include include include include void fun char str,char c intmain void fun char str,char c 第三題 include include define n 4 typedef structshu intmain...

C語言程式設計,編寫程式,用C語言。

這就是運bai算符號的優先順序的問du題。c語言中,非零為真zhi,k 2,所以循dao環執行2次。第1次 專 屬 s m k m,在變數左側,所以先計算m m 1 4,k 在變數右側,所以先使用k 2進行m k 2的計算,然後再k k 1 1 最後計算s s 2 10 執行第1次迴圈後 m 4,k...