weixin_62744394 2021-12-06 00:06 采纳率: 75%
浏览 32
已结题

有人帮我看看怎么做吗

img

  • 写回答

1条回答 默认 最新

  • 关注

    用一个30×30的二维字符数组,用rand函数随机生成行列数放“@”到数组中,统计不是“@”的元素的周围8个元素中有多少“@”即可
    你题目的解答代码如下:

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    int main() {
        char s[30][30];
    
        srand((unsigned)time(NULL));
        int a[8][2] = {
            -1, -1,
            -1,  0,
            -1,  1,
             0, -1,
             0,  1,
             1, -1,
             1,  0,
             1,  1
        };
        int n, i, j, k, m, x, y;
        for (i = 0; i < 30; i++)
            for (j = 0; j < 30; j++)
                s[i][j] = '0';
        scanf("%d", &n);
        for (i = 0; i < n; i++)
        {
            x = rand() % 30;
            y = rand() % 30;
            if (s[x][y]!='@')
                s[x][y] = '@';
            else     //如果随机出的位置已经是@,则i--让这次循环不计数
                i--;
        }
    
        for (i = 0; i < 30; i++)
        {
            for (j = 0; j < 30; j++)
            {
                if(s[i][j] != '@')
                {
                    m = 0;
                    for (k = 0; k < 8; k++)
                    {
                        x = i + a[k][0];
                        y = j + a[k][1];
                        if(x>=0 && x<30 && y>=0 && y<30 && s[x][y] == '@')
                            m++;
                    }
                    s[i][j] = m+'0';
                }
            }
        }
    
        for (i = 0; i < 30; i++)
        {
            for (j = 0; j < 30; j++)
            {
                printf("%c ", s[i][j]);
            }
            printf("\n");
        }
       return 0;
    }
    

    如有帮助,望采纳!谢谢!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月14日
  • 已采纳回答 12月6日
  • 创建了问题 12月6日

悬赏问题

  • ¥15 孟德尔随机化结果不一致
  • ¥15 深度学习残差模块模型
  • ¥50 怎么判断同步时序逻辑电路和异步时序逻辑电路
  • ¥15 差动电流二次谐波的含量Matlab计算
  • ¥15 Can/caned 总线错误问题,错误显示控制器要发1,结果总线检测到0
  • ¥15 C#如何调用串口数据
  • ¥15 MATLAB与单片机串口通信
  • ¥15 L76k模块的GPS的使用
  • ¥15 请帮我看一看数电项目如何设计
  • ¥23 (标签-bug|关键词-密码错误加密)