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;
}
}