UVa OJ 10189

1、做个水题放松一下~注意一定要确定n和m是否大于0,否则会输出多余的东西。

#include <cstdio>
using namespace std;
int main()
{
    //freopen("a.txt","r",stdin);
    int n,m,kase=0;
    int x[8]={-1,0,1,0,-1,1,-1,1};
    int y[8]={0,-1,0,1,-1,1,1,-1};
    char a[110][110];
    bool flag=false;
    while(scanf("%d%d",&n,&m)==2&&n&&m){
         if(flag) printf("\n");
         printf("Field #%d:\n",++kase);
         getchar();
         for(int i=0;i<n;i++){
            for(int j=0;j<m;j++)
                scanf("%c",&a[i][j]);
            getchar();
         }
         for(int i=0;i<n;i++){
            for(int j=0;j<m;j++){
               if(a[i][j]=='*') {printf("*");continue;}
               int count=0;
               for(int k=0;k<8;k++){
                   int x1=i+x[k],y1=j+y[k];
                     if(x1>=0&&x1<n&&y1>=0&&y1<m&&a[x1][y1]=='*') count++;
               }
               printf("%d",count);
            }
            printf("\n");
         }
         flag=true;
    }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值