當前位置:編程學習大全網 - 編程語言 - c語言程序設計 迷宮問題

c語言程序設計 迷宮問題

海龜作圖行不。這是我大壹時的C語言課程設計,我自已做的。

高級級語言課程設計實驗報告

實驗課程:課程設計 年級:2004級 實驗成績:

課程設計名稱 海龜作圖 姓名:

任課教師: 學號:2004810025 實驗日期:

壹、目的

通過編壹些小程序,鞏固和利用所學的知識,加強變成能力。

本課題涉及的知識內容:for循環嵌套,if語句,二維數組,文件創建與保存,自定義函數等高級語言內容。

二、內容與設計思想

1. 設計內容

海龜爬行過程中,筆朝下紀錄海龜爬行蹤跡,筆朝上則不紀錄並保存蹤跡,

1表示筆朝上,2表示朝下,3右轉彎,4左轉彎,5,x向前走x格,6打印

9結束

2. 主要代碼結構

main()函數調用了兩個函數

3. 主要代碼段分析。

譬如print函數,打印海龜蹤跡並保存。Step函數當筆朝上時海龜走過的數組值加壹

三、使用環境

本次上機實踐所使用的平臺和相關軟件。

平臺:Windows 2000

相關軟件:VC++

四、調試過程

1. 測試結果分析

經檢驗,運行結果正確

五、總結

1. 設計中遇到的問題及解決過程

調試過程中出現壹些邏輯和語法錯誤,但是語法錯誤容易糾正,而

邏輯錯誤則比較難糾正。有時會漏掉“,”,“;”,“}”等符號

2. 設計體會和收獲。

發現自己也能解決有點復雜的問題

六、附錄

1. 源代碼

/*海龜作圖,活動區域50*50,超出區域,海龜死亡遊戲完*/

#include<stdio.h>

void print(int [][49]);

void move(int [][49],int,int,int);

main()

{

int step[49][49];

int a,gostep,direct=1,record=1,i,j;

for(i=0;i<=49;i++)

for(j=0;j<=49;j++)

step[i][j]=0;

while(1)

{

scanf("%d,%d",&a,&gostep);

if(a==2) record=1;

if(a==1) record=0;

if(a==4)

{

direct++;

if(direct==5) direct=1;

continue;

}

if(a==3)

{

direct--;

if(direct==0) direct=4;

continue;

}

if(a==5)

{

move(step,gostep,direct,record);

continue;

}

if(a==6)

print(step);

if(a==9)

return 0;

}

}

/*打印海龜蹤跡並保存*/

void print(int s[][49])

{

int i,j;

FILE *fp;

fp=fopen("D:\\step.txt","w");

for(i=0;i<=49;i++)

{

for(j=0;j<=49;j++)

{

printf(s[i][j]==0? " ":"*");

fprintf(fp,s[i][j]==0? " ":"*");

}

printf("\n");

}

fclose(fp);

}

void move(int t[][49],int i,int j,int k)

{

static int x=0,y=0;

int xmove,ymove,num;

if(j==1)

{

xmove=1;ymove=0;}

if(j==2)

{

xmove=0;ymove=-1;

}

if(j==3)

{

xmove=-1;ymove=0;

}

if(j==4)

{

xmove=0;ymove=1;

}

for(num=0;num<i;num++)

{

t[0][0]=1;

x+=xmove;

y+=ymove;

if(x<0||x>49||y<0||y>49)

{

printf("the place is danger ,you are died");

exit();

}

t[y][x]+=k;

}

}

  • 上一篇:《三個小夥伴》 教學案例第二課時
  • 下一篇:為什麽說自動駕駛的博弈才剛剛開始?
  • copyright 2024編程學習大全網