肿瘤面积
2021.8.14 二维数组定时练习2 A题
该题是比较简单的二维数组的题目:
第一步:输入图片
我们定义一个数组 a a a和数量 n n n,并输入:
int a[MAXN][MAXN], n;
然后用 f o r for for循环嵌套输入数组即可。
第二步:找出左上角与右下角的坐标
定义
由于肿瘤是一个矩形,所以可以用坐标求得面积。
定义4个变量,表示左上角和右下角的 x 、 y x、y x、y值
int zs_x = 0, zs_y, yx_x, yx_y
注:将左上角x坐标自为0,标记是否已经记录。
查找
用 f o r for for循环遍历整个数组,若该点为0:
1.若 z s x zs_x zsx为0(之前并未找到):标记左上角坐标
2.不为0:跳过
标记右下角坐标。
判断代码如下:
if (zs_x == 0 && a[i][j] == 0) {
zs_x = i, zs_y = j;
}
if (a[i][j] == 0) {
yx_x = i, yx_y = j;
}
第三步:计算面积
int ans = (yx_x - zs_x - 1) * (yx_y - zs_y - 1);
输出即可。
最后一点
想要全代码?没门
最后说一句:抄袭无用
感谢观看