您现在的位置是:首页 > 网站技术问题网站技术问题

网站代码有什么问题?

江湖快报网2022-11-09 13:29:56【网站技术问题】人已围观

简介如果你非要它们在一行 就约束下宽度

代码:


复制代码
默认图片宽度是250像素,上面代码给的240像素,如果还不在一行 你可以继续调整。
C语言题目 搜索相关 有些小问题 代码网

如果你非要它们在一行 就约束下宽度

代码:


复制代码
默认图片宽度是250像素,上面代码给的240像素,如果还不在一行 你可以继续调整。

C语言题目 搜索相关 有些小问题 代码网址贴在下面?

我的输出

你search函数里面x,y的逻辑搞反了,二维数组中x是行 代表纵坐标,y是列 代表横坐标

而且你给的例子中,@的坐标是(8,2)不是(2,8)

另外,数组下标最好从0开始,这是一个良好的编程习惯。虽然下标从1开始,更能直观的与行号列号对应起来。


#define _CRT_SECURE_NO_WARNINGS

#include  <stdio.h>

int a[21][21], w, h;

int count = 0;

void search(int x, int y)

{

if (a[x][y] == 0)

{

a[x][y] = 2;

count++;

if ((y >= 2) && (x <= h) && (y <= w) && (x >= 1))

search(x , y - 1);

if ((x <= h) && (y <= w - 1) && (y >= 1) && (x >= 1))

search(x , y + 1);

if ((x <= h) && (y <= w) && (y >= 1) && (x >= 2))

search(x - 1, y);

if ((x <= h - 1) && (y <= w) && (y >= 1) && (x >= 1))

search(x + 1, y);

}

}


int main()

{

int i, j, x, y;

char s[21][21];

while (scanf(%d%d, &w, &h) != EOF)

{

count = 0;

getchar();

for (i = 1; i <= h; i++)

{

for (j = 1; j <= w; j++)

{

scanf(%c, &s[i][j]);

if (s[i][j] == '.')

a[i][j] = 0;

else if (s[i][j] == '#')

{

a[i][j] = 1;

}

else if (s[i][j] == '@')

{

a[i][j] = 0;

y = j;

x = i;

}

}

getchar();

}

printf(x=%d y=%d\n, x, y);

search(x, y);

printf(%d\n, count);

for (i = 1; i <= h; i++)

{

for (j = 1; j <= w; j++)

{

printf(a[%d][%d]=%d , i, j, a[i][j]);

}

printf(\n);

}


}

return 0;


}

Tags:些小   题目   下面

很赞哦! ()

文章评论

    共有条评论来说两句吧...

    用户名:

    验证码:

本站推荐