jiabao


私信TA

用户名:724032931

访问量:1648

签 名:

等  级
排  名 12157
经  验 989
参赛次数 0
文章发表 4
年  龄 0
在职情况 学生
学  校 河南理工大学
专  业

  自我简介:

TA的其他文章

解题思路:思路很简单,就是每一行每一列查找,寻找‘.’的周围有多少个‘*’

注意事项:考虑特殊的情况:行首行尾、列首列尾,还有就是要用getchar()吃掉空格

参考代码:

#include<stdio.h>

int main()

{

int n, m,i,j,f,x,y,k=1;

char a[1000][1000];

while (scanf("%d %d", &n, &m)!=EOF&&n)

{

getchar();

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

{

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

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

getchar();

}

printf("Field #%d:\n", k++);

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

{

f = 0;

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

{

f = 0;

if (a[i][j] == '*')

printf("%c", a[i][j]);

else

{

for (x = i - 1; x <= i + 1 && x < n; x++)

{

if (x < 0)

continue;

for (y = j - 1; y <= j + 1 && y < m; y++)

{

if (y < 0)

continue;

if (a[x][y] == '*')

f++;

}

}

printf("%d", f);

}

}

printf("\n");

}

printf("\n");

}

}


 

0.0分

0 人评分

  评论区

  • «
  • »