解题思路:
注意事项:
参考代码:
#include<stdio.h> #include<string.h> int main(){ int count=1,n,m,i,j,k,x,y; while( scanf("%d %d", &n, &m) && n && m){ getchar(); //去除换行符 int dir[8][2] = {{-1,-1},{-1,0},{-1,1},{0,-1},{0,1},{1,-1},{1,0},{1,1}}; int a[n][m]; memset(a,0,sizeof(int)*n*m); char s[n][m+1]; //m+1,用于放字符串结束符 for(i=0; i<n; i++){ gets(s[i]); for(j=0; j<m; j++){ if(s[i][j]=='*') for(k=0; k<8; k++){ x=i+dir[k][0]; y=j+dir[k][1]; if(x<0 || x>=n || y<0 || y>=m) continue; a[x][y]++; } } } printf("Field #%d:\n",count); for(i=0; i<n; i++){ for(j=0; j<m; j++){ if(s[i][j]=='*') printf("*"); else printf("%d",a[i][j]); } printf("\n"); } printf("\n"); count++; } return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:746 |
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:674 |
买不到的数目 (C++代码)浏览:909 |
【出圈】 (C语言代码)浏览:590 |
拆分位数 (C语言代码)浏览:1361 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:633 |
简单的for循环浏览:1497 |
校门外的树 (C语言代码)浏览:733 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:350 |
DNA (C语言代码)浏览:564 |