解题思路:输入时给result赋初值为0,然后遍历map,遇见*时更新result
注意事项:
参考代码:
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
char map[100][100];
char result[100][100];
int m,n;
int i,j;
int count = 0;
while(scanf("%d %d",&m,&n) != EOF && m != 0 && n != 0)
{
count ++;
// 写入map,给result赋值为0
for(i = 0; i < m; i++)
{
for(j = 0;j < n; j++)
{
cin >> map[i][j];
result[i][j] = '0'-0;
}
}
//扫雷
for(i = 0; i < m; i++)
{
for(j = 0;j < n; j++)
{
if(map[i][j] == '*')
{
result[i][j] = map[i][j];
for(int k = i - 1; k <= i + 1;k++)
{
for(int t = j -1; t <= j + 1; t++)
{
if( k >= 0 && k < m && t >= 0 && t < n && !(k == i && t == j) && map[k][t] != '*')
{
result[k][t] = result[k][t]+1;
}
}
}
}
}
}
//打印输出
cout << "Field #"<<count<<":"<<endl;
for(i = 0; i < m; i++)
{
for(j = 0;j < n; j++)
{
cout << result[i][j];
}
cout << endl;
}
cout << endl;
}
return 0;
}
0.0分
0 人评分
数组输出 (C语言代码)--此题的题目描述有问题浏览:1844 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:632 |
C语言训练-阶乘和数* (C语言代码)-------- 呆板写法浏览:1397 |
C语言程序设计教程(第三版)课后习题6.3 (C++代码)浏览:1067 |
校门外的树 (C语言代码)浏览:733 |
【明明的随机数】 (C语言代码)浏览:845 |
sizeof的大作用 (C语言代码)浏览:1593 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:742 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:487 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:593 |