| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 352 人关注过本帖
标题:大家给看看,实在找不出哪里出了问题
只看楼主 加入收藏
z8853797
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-3-21
收藏
 问题点数:0 回复次数:0 
大家给看看,实在找不出哪里出了问题
在一个正方形的灰度图片上,肿瘤是一块矩形的区域,肿瘤的边缘所在的像素点在图片中用0表示。其它肿瘤内和肿瘤外的点都用255表示。现在要求你编写一个程序,计算肿瘤内部的像素点的个数(不包括肿瘤边缘上的点)。已知肿瘤的边缘平行于图像的边缘。

Input

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

Output

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




#include <stdio.h>
main()
{
   int a[101][101];
   int n,i,j,x,y,x1,y1,s;/*x,y左上角坐标,x1,y1右下角坐标*/
   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] == 0)
          {
            x = i;
            y = j;
            goto loop;
          }
       }
       loop:
       break;
   }
    for(i = (n-1); i > 0;i--)
   {
        for(j = (n-1); j >0; j--)
       {
             if(a[i][j]==0)
            {
             x1 = i;
             y1 = j;
             goto loop1;
            }
        }
        loop1:
        break;
  }
  s = (x1- x - 1) * (y1 - y - 1);
   printf("%d\n",s);
   return 0;
}
搜索更多相关主题的帖子: 肿瘤 include 正方形 
2013-03-23 21:53
快速回复:大家给看看,实在找不出哪里出了问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014404 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved