概述
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 分)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复