c语言程序设计迷宫问题

乌龟会画画吗?这是我大一C语言课程设计,我自己做的。

高级语言课程设计实验报告

实验课程:课程设计年级:2004级实验成绩:

课程设计名称海龟图纸名称:

老师:学号:2004810025实验日期:

一.目的

通过编写一些小程序,我们可以巩固和利用我们所学的知识,加强我们改变的能力。

本课题涉及的知识内容:for循环嵌套、if语句、二维数组、文件创建和保存、自定义函数等高级语言内容。

二,内容和设计思路

1.设计内容

龟爬行过程中,下笔记录龟爬行轨迹,上笔不记录保存轨迹。

1表示笔向上,2表示向下,3次右转,4次左转,5,x前进x个空格,6次打印。

9结束

2.主要代码结构

main()函数调用两个函数。

3.主要代码段分析。

比如打印功能打印海龟轨迹并保存。Step函数将笔提起时海龟走过的数组值加1。

第三,使用环境

本计算机实践中使用的平台和相关软件。

平台:Windows 2000

相关软件:VC++

四、调试过程

1.测试结果分析

经检查,运算结果正确。

动词 (verb的缩写)摘要

1.设计中遇到的问题及其解决方法

在调试过程中有一些逻辑和语法错误,但是语法错误很容易纠正,并且

逻辑错误更难纠正。有时“,”,;”、“}”等符号

2.设计经验和收获。

我发现自己能够解决一个有点复杂的问题。

不及物动词附录

1.源代码

/*乌龟抽奖,活动面积50*50,超出面积,乌龟死亡游戏*/

# include & ltstdio.h & gt

void print(int[][49]);

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

主()

{

int step[49][49];

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

for(I = 0;我& lt=49;i++)

for(j = 0;j & lt=49;j++)

步骤[I][j]= 0;

while(1)

{

scanf("%d,%d ",& amp一,& ampgo step);

if(a==2)记录= 1;

if(a==1)记录= 0;

如果(a==4)

{

direct++;

if(direct = = 5)direct = 1;

继续;

}

如果(a==3)

{

直接-;

if(direct = = 0)direct = 4;

继续;

}

如果(a==5)

{

移动(step,gostep,direct,record);

继续;

}

如果(a==6)

打印(步骤);

如果(a==9)

返回0;

}

}

/*打印海龟踪迹并保存*/

作废打印(int s[][49])

{

int i,j;

FILE * fp

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

for(I = 0;我& lt=49;i++)

{

for(j = 0;j & lt=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)

{

静态int x=0,y = 0;

int xmove,ymove,num

如果(j==1)

{

xmove = 1;ymove = 0;}

如果(j==2)

{

xmove = 0;ymove =-1;

}

如果(j==3)

{

xmove =-1;ymove = 0;

}

如果(j==4)

{

xmove = 0;ymove = 1;

}

for(num = 0;num & lt我;num++)

{

t[0][0]= 1;

x+= x move;

y+= ymove;

if(x & lt;0 | | x & gt49 | | y & lt0 | | y & gt49)

{

printf("此地危险,你死定了");

exit();

}

t[y][x]+= k;

}

}