/******************************主函数***********************************/ int main() { int i,j,k,l; printf("Please input size of the chessboard: "); /*输入矩阵的大小值*/ scanf("%d",&n); m=n*n; creatadjm(); /*创建标志矩阵*/ puts("The sign matrix is:"); for(i=1;i<=m;i++) /*打印输出标志矩阵*/ { for(j=1;j<=m;j++) printf("%2d",adjm[i][j]); printf("\n"); } printf("Please input the knight's position (i,j): "); /*输入骑士的初始位置*/ scanf("%d %d",&i,&j); l=(i-1)*n+j; /*骑士当前位置对应的标志矩阵的横坐标*/ while ((i>0)||(j>0)) /*对骑士位置的判断*/ { for(i=1;i<=n;i++) /*棋盘矩阵初始化*/ for(j=1;j<=n;j++) f[i][j]=0; k=0; /*所跳步数计数*/ travel(l,k); /*从i,j出发开始巡游*/ puts("The travel steps are:"); for(i=1;i<=n;i++) /*巡游完成后输出巡游过程*/ { for(j=1;j<=n;j++) printf("%4d",f[i][j]); printf("\n"); } printf("Please input the knight's position (i,j): ");/*为再次巡游输入起始位置*/ scanf("%d %d",&i,&j); l=(i-1)*n+j; } puts("\n Press any key to quit... "); getchar(); return 0; }
int main() { int i,j,k,l; printf("Input n:");scanf("%d",&n); m=n*n; creatadjm(); for(i=1;i<=m;i++) { for(j=1;j<=m;j++) printf("%2d",adjm[i][j]); printf("\n"); } getchar(); printf("Input i,j:"); scanf("%d %d",&i,&j); l=(i-1)*n+j; while ((i>0)||(j>0)) { for(i=1;i<=n;i++) for(j=1;j<=n;j++) f[i][j]=0; k=0; travel(l,k); printf("%d\n",fgf);fgf=0; for(i=1;i<=n;i++) { for(j=1;j<=n;j++) printf("%4d",f[i][j]); printf("\n"); } getchar(); printf("Input i,j:");scanf("%d %d",&i,&j); l=(i-1)*n+j; } return 0; }