我是靠谱客的博主 懵懂蚂蚁,最近开发中收集的这篇文章主要介绍3-7-4 肿瘤面积 (10 分),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

3-7-4 肿瘤面积 (10 分)
任务描述
在一个正方形的灰度图片上,肿瘤是一块矩形的区域,肿瘤的边缘所在的像素点在图片中用0表示。其它肿瘤内和肿瘤外的点都用255表示。现在要求你编写一个程序,计算肿瘤内部的像素点的个数(不包括肿瘤边缘上的点)。已知肿瘤的边缘平行于图像的边缘。

输入格式:
只有一个测试样例。第一行有一个整数n,表示正方形图像的边长。其后n行每行有n个整数,取值为0或255。整数之间用一个空格隔开。已知n不大于1000。

输出格式:
输出一行,该行包含一个整数,为要求的肿瘤内的像素点的个数。

输入样例:

5
255 255 255 255 255
255 0 0 0 255
255 0 255 0 255
255 0 0 0 255
255 255 255 255 255

输出样例:

1

题目来源
该题目选自OpenJudge网站,在线网址:http://noi.openjudge.cn/ch0108/18/

#include<stdio.h>
int main()
{
    int sign=0;
    int k,i,j;
    int a[50][50];
    scanf("%d",&k);
    for(i=0;i<k;i++)
    {
        for(j=0;j<k;j++)
        scanf("%d",&a[i][j]);
    }
    int m,n;
    for(m=0;m<k;m++)
    {
        for(n=0;n<k;n++)
        {
            if(a[m][n]==0)
            {            
                sign=1; 
                break;
            }  
        }
       if(sign==1)
            break;
    }//找到左上角的0
    sign=0;
    int b,c;
    for(b=0;b<k;b++)
    {
        for(c=0;c<k;c++)
        {
            if(a[b][c]==0&&a[b][c-1]==0&&a[b-1][c]==0)
            {
                sign=1;
                break;
            }
        } 
        if(sign==1)
            break;
    }//找出右下角的0
    int sum;
    sum=(b-m-1)*(c-n-1);
    printf("%d",sum);
    return 0;
}

思路:找出矩形左上角和右下角的0,由此可以得到矩形的长宽,从而得到肿瘤面积。

最后

以上就是懵懂蚂蚁为你收集整理的3-7-4 肿瘤面积 (10 分)的全部内容,希望文章能够帮你解决3-7-4 肿瘤面积 (10 分)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部