概述
Description
一张CT扫描的灰度图像可以用一个N*N(0<N<100)的矩阵描述,矩阵上的每个点对应一个灰度值(整数),其取值范围是0-255。我们假设给定的图像中有且只有一个肿瘤。在图上监测肿瘤的方法如下:如果某个点对应的灰度值小于等于50,则这个点在肿瘤上,否则不在肿瘤上。我们把在肿瘤上的点的数目加起来,就得到了肿瘤在图上的面积。任何在肿瘤上的点,如果它是图像的边界或者它的上下左右四个相邻点中至少有一个是非肿瘤上的点,则该点称为肿瘤的边界点。肿瘤的边界点的个数称为肿瘤的周长。现在给定一个图像,要求计算其中的肿瘤的面积和周长。
Input
输入第一行包含一个正整数N(0<N<100),表示图像的大小;接下来N行,每行包含图像的一行。图像的一行用N个整数表示(所有整数大于等于0,小于等于255),两个整数之间用一个空格隔开。
Output
输出只有一行,该行包含两个正整数,分别为给定图像中肿瘤的面积和周长,用一个空格分开。
Sample Input
6
99 99 99 99 99 99
99 99 99 50 99 99
99 99 49 49 50 51
99 50 20 25 52 99
40 50 99 99 99 99
99 99 99 99 99 99
Sample Output
9 8
#include<stdio.h>
int main(){
int n,i,j,a[105][105],s=0,c=0;
scanf("%d",&n);
for(i=0;i<n;i++){
for(j=0;j<n;j++){
scanf("%d",&a[i][j]);
}
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(a[i][j]<=50){
s++;
if(i==0 || i==n-1 ||j==0 || j==n-1) c++;
else if(a[i-1][j]>50 || a[i+1][j]>50 || a[i][j-1]>50 || a[i][j+1]>50) c++;
}
}
}
printf("%d %dn",s,c);
}
#include<stdio.h>
int main(){
int a[100][100];
int n,s=0,c=0;
int i,j;
scanf("%d",&n);
for(i=0;i<n;i++){
for(j=0;j<n;j++){
scanf("%d",&a[i][j]);
if(a[i][j]<=50)
s++;
}
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if((a[i][j]<=50) &&(i==0 || i==n-1 || j==0 || j==n-1)) c++;
else if((a[i][j]<=50) && (a[i-1][j]>50 || a[i+1][j]>50 || a[i][j-1]>50 || a[i][j+1]>50 )){
c++;
}
}
}
printf("%d %dn",s,c);
}
最后
以上就是深情冥王星为你收集整理的C语言——肿瘤检测的全部内容,希望文章能够帮你解决C语言——肿瘤检测所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复