马踏棋盘问题的程序c语言,马踏棋盘问题

2023-11-09 05:10

本文主要是介绍马踏棋盘问题的程序c语言,马踏棋盘问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

已结贴√

问题点数:15 回复次数:6

ca56232b3bbedf9a539d07f37fffb99a.gif

3144d8b7615c79d9f638db40d5689d26.gif

a218af6549b45ee526caf607ebff1358.gif

0f8df0e29816ae721419de940fb833d1.gif

马踏棋盘问题

只能执行到第二步,找不出结果,求各位帮忙

#include

#include

#include

#define STACK_INIT_SIZE 100

#define STACKINCREMENT 10

typedef struct Point{

int x;

int y;

int e;

}Point;

typedef struct {

Point *base;

Point *top;

int stacksize;

}SqStack;

int InitStack(SqStack *S)

{

(*S).base =(Point *)malloc(STACK_INIT_SIZE*sizeof(Point));

if(!(*S).base)exit(1);

(*S).top = (*S).base;

(*S).stacksize = STACK_INIT_SIZE;

return 1;

}

int StackEmpty(SqStack *S)

{

if((*S).top==(*S).base)

return 1;

else

return 0;

}

int Push(SqStack *S,Point e)

{

if((*S).top - (*S).base >= (*S).stacksize)

{

(*S).base =(Point *)realloc((*S).base,((*S).stacksize+STACKINCREMENT) * sizeof(Point));

if(!(*S).base)exit(1);

(*S).top = (*S).base+(*S).stacksize;

(*S).stacksize += STACKINCREMENT;

}

*(*S).top++ = e;

return 1;

}

int Pop(SqStack *S, Point *e)

{

if((*S).top ==(*S).base) return 0;

*e = * --(*S).top;

return 1;

}

int SetTop(SqStack S,Point *e)

{

if(S.top>S.base)

{

*(S.top-1)=*e;

return 1;

}

else

return 0;

}

void main()

{

Point e;

int count=1;

int i,j;

int board[8][8]={{0}};

int x1,y1;

int move1[8]={2,2,1,1,-1,-1,-2,-2,},

move2[8]={1,-1,2,-2,2,-2,1,-1,};

int pic[8][8]; //对应棋盘

SqStack S;

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

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

pic[i][j]=0;

//输入入口点,并让其进栈

printf("输入x1(0-7),y1(0-7):");

scanf("%d%d",&x1,&y1);

e.x=x1;

e.y=y1;

pic[x1][y1]=1;

InitStack(&S);

Push(&S,e);

int k=0;

while(count!=64)

{

if(x1+move1[k]>0&&x1+move1[k]<=8&&y1+move2[k]>0&&y1+move2[k]<=8&&board[x1+move1[k]][y1+move2[k]]==0)

{

pic[x1+move1[k]][y1+move2[k]]=++count;

e.x=x1+move1[k];

e.y=y1+move2[k];

Push(&S,e);

k=0;

}

else

board[x1+move1[k]][y1+move2[k]]=1;

k++;

}

while(!StackEmpty(&S))

{

Pop(&S,&e);

printf("(%d %d)",e.x,e.y);

}

printf("\n");

/* 打印出马走棋盘的路线*/

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

{

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

printf("%d\t",pic[i][j]);

printf("\n\n\n");

}

}

搜索更多相关主题的帖子:

return

这篇关于马踏棋盘问题的程序c语言,马踏棋盘问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/374140

相关文章

Redis出现中文乱码的问题及解决

《Redis出现中文乱码的问题及解决》:本文主要介绍Redis出现中文乱码的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 问题的产生2China编程. 问题的解决redihttp://www.chinasem.cns数据进制问题的解决中文乱码问题解决总结

Go语言中nil判断的注意事项(最新推荐)

《Go语言中nil判断的注意事项(最新推荐)》本文给大家介绍Go语言中nil判断的注意事项,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.接口变量的特殊行为2.nil的合法类型3.nil值的实用行为4.自定义类型与nil5.反射判断nil6.函数返回的

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

全面解析MySQL索引长度限制问题与解决方案

《全面解析MySQL索引长度限制问题与解决方案》MySQL对索引长度设限是为了保持高效的数据检索性能,这个限制不是MySQL的缺陷,而是数据库设计中的权衡结果,下面我们就来看看如何解决这一问题吧... 目录引言:为什么会有索引键长度问题?一、问题根源深度解析mysql索引长度限制原理实际场景示例二、五大解决

Springboot如何正确使用AOP问题

《Springboot如何正确使用AOP问题》:本文主要介绍Springboot如何正确使用AOP问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录​一、AOP概念二、切点表达式​execution表达式案例三、AOP通知四、springboot中使用AOP导出

Python中Tensorflow无法调用GPU问题的解决方法

《Python中Tensorflow无法调用GPU问题的解决方法》文章详解如何解决TensorFlow在Windows无法识别GPU的问题,需降级至2.10版本,安装匹配CUDA11.2和cuDNN... 当用以下代码查看GPU数量时,gpuspython返回的是一个空列表,说明tensorflow没有找到

解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题

《解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题》:本文主要介绍解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4... 目录未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘打开pom.XM

IDEA Maven提示:未解析的依赖项的问题及解决

《IDEAMaven提示:未解析的依赖项的问题及解决》:本文主要介绍IDEAMaven提示:未解析的依赖项的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录IDEA Maven提示:未解析的依编程赖项例如总结IDEA Maven提示:未解析的依赖项例如

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

Redis分片集群、数据读写规则问题小结

《Redis分片集群、数据读写规则问题小结》本文介绍了Redis分片集群的原理,通过数据分片和哈希槽机制解决单机内存限制与写瓶颈问题,实现分布式存储和高并发处理,但存在通信开销大、维护复杂及对事务支持... 目录一、分片集群解android决的问题二、分片集群图解 分片集群特征如何解决的上述问题?(与哨兵模