C语言-移数字游戏
Posted 灯火阑处
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言-移数字游戏相关的知识,希望对你有一定的参考价值。
将1~8个数随机的填写到该数阵的外层圆圈中,只剩下中间的一个空圆圈。规定每个数字只能按照数阵中的直线从一个圆圈移动到另一个空的圆圈中。通过若干步的移动,要求将该数阵中的数字移动成为图中所示的状态
void Print(int m[])
printf(" [%d]--[%d]--[%d]\\n", m[0], m[1], m[2]);
printf(" | %c | %c | \\n", 92, 47);
printf(" [%d]--[ ]--[%d]\\n", m[7], m[3]);
printf(" | %c | %c | \\n", 47, 92);
printf(" [%d]--[%d]--[%d]\\n", m[6], m[5], m[4]);
void getStep(int m[])
for (int i = 0; i < 8; ++i)
for (int j = 0; j < 8 - i - 1; ++j)
if (m[j] > m[j + 1])
int tmp = m[j];
m[j] = m[j + 1];
m[j + 1] = tmp;
printf("(%d# --> 0#)\\n", j + 1);
printf("(%d# --> %d#)\\n", j + 2, j + 1);
printf("(0# --> %d#)\\n", j + 2);
printf("\\n");
int main(int argc, const char *argv[])
int i, m[8];
printf("Please input 8 integer (1~8) to arrange this matrix\\n");
for (i = 0; i < 8; ++i)
scanf("%d", &m[i]);
printf("The initial data matrix is like\\n");
Print(m);
printf("\\nMove Step:\\n");
getStep(m);
printf("The result of moving is\\n");
Print(m);
return 0;
以上是关于C语言-移数字游戏的主要内容,如果未能解决你的问题,请参考以下文章