#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<stdbool.h>
int main(void)
{
int step, row, col;
const char alpha_code[26] = { 'a','b','c','d','e','f','g','h','i',
'j','k','l','m','n','o','p','q','r',
's','t','u','v','w','x','y','z' };
int a[10][10];
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
a[i][j] = '.';
}
}
srand((unsigned)time(NULL));
a[0][0] = 'a';
row = 0;
col = 0;
for (int i = 1; i < 26;)
{
int step_code[4] = { false };
if (row > 0 && a[row - 1][col] == '.')
{
step_code[0] = true;
}
if (row < 9 && a[row + 1][col] == '.')
{
step_code[1] = true;
}
if (col > 0 && a[row][col - 1] == '.')
{
step_code[2] = true;
}
if (col < 9 && a[row][col + 1] == '.')
{
step_code[3] = true;
}
if (step_code[0] == false && step_code[1] == false && step_code[2] == false && step_code[3] == false)
{
break;
}
step = rand() % 4;
switch (step)
{
case 0:
if (step_code[0] == true)
{
row--;
a[row][col] = alpha_code[i];
i++;
}
break;
case 1:
if (step_code[1] == true)
{
row++;
a[row][col] = alpha_code[i];
i++;
}
break;
case 2:
if (step_code[2] == true)
{
col--;
a[row][col] = alpha_code[i];
i++;
}
break;
case 3:
if (step_code[3] == true)
{
col++;
a[row][col] = alpha_code[i];
i++;
}
break;
}
}
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
printf(" %c ", a[i][j]);
}
printf("\n");
}
return 0;
}
8---9
最新推荐文章于 2024-09-24 09:57:48 发布