吴冰燕 2023-03-15 09:48 采纳率: 84%
浏览 46
已结题

地雷探测(C++、C语言)

题目描述
有一片废弃的农场包含了n行,每行m块土地,每块土地下方埋有一定数量的地雷。一支安全部队为了安全穿过这片农田首先在左上方(第1行的第1块土地)出安插了一个地雷探测装置,该装置可以探测到以其位置为左上方顶点的k1行k2列共k1*k2块矩形土地区域范围内的所有地雷。请问该枚装置可以检测到多少枚地雷?

输入格式
第1行两个整数n和m,分别表示行数和列数。

第2~(n+1)行,每行m个整数Wi,描述了n行m列的土地下方埋藏的地雷数量。

最后一行输入装置可探测的行数k1和列数k2。

img

  • 写回答

4条回答 默认 最新

  • 关注

    n和m<=100,定义一个int w[102][102]的数组存储每个位置上的地雷数量,然后从0-k1,0-k2双层for循环遍历累加即可。
    运行结果:

    img

    C代码:

    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
        int w[102][102] = { 0 };
        int n, m;
        int i, j;
        int k1, k2;
        int sum = 0;
        scanf("%d %d", &n, &m); //读取n和m
        for (i = 0; i < n; i++)
        {
            for (j = 0; j < m; j++)
                scanf("%d", &w[i][j]);
        }
        scanf("%d %d", &k1, &k2); //读取k1 、k2
        //遍历
        for (i = 0; i < k1; i++)
        {
            for (j = 0; j < k2; j++)
                sum += w[i][j];
        }
        printf("%d", sum);
        return 0;
    }
    
    

    C++代码:

    #include <iostream>
    using namespace std;
    int main()
    {
        int w[102][102] = { 0 };
        int n, m;
        int i, j;
        int k1, k2;
        int sum = 0;
        cin >>n >>m; //读取n和m
        for (i = 0; i < n; i++)
        {
            for (j = 0; j < m; j++)
                cin >>w[i][j];
        }
        cin >> k1 >> k2; //读取k1 、k2
        //遍历
        for (i = 0; i < k1; i++)
        {
            for (j = 0; j < k2; j++)
                sum += w[i][j];
        }
        cout << sum;
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月22日
  • 已采纳回答 3月22日
  • 创建了问题 3月15日

悬赏问题

  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助