首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 假设一个剧场有N*N个座位,顾客买票时可以提出任意有效的座号请求。下面用二维数组a[N][N]模拟剧场中的座位,a[i][j]圆等于0表示 第i排第j列(0≤i,j≤
阅读以下说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 假设一个剧场有N*N个座位,顾客买票时可以提出任意有效的座号请求。下面用二维数组a[N][N]模拟剧场中的座位,a[i][j]圆等于0表示 第i排第j列(0≤i,j≤
admin
2008-01-03
53
问题
阅读以下说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
假设一个剧场有N*N个座位,顾客买票时可以提出任意有效的座号请求。下面用二维数组a[N][N]模拟剧场中的座位,a
[j]圆等于0表示
第i排第j列(0≤i,j≤N-1)的票尚未售出。
函数int Find(int a[][N],int R,int*row,int*col)的功能是:在部分票已售出的情况下,找出剧场中的R*R个空座位,要求这些座位
的排列形成一个正方形。若找到满足要求的一个座位排列,则函数返回1,并算出该正方形左上角的行、列号;若未找到,则返回0。
例如,一个7X7个座位的剧场如下图(a)所示,已售出部分座位的剧场如下图(b)所示,图中阴影部分表示已售出的座位,从下图(b)中找出
的3X3正方形空座位如下图(c)中斜线区所示。
【函数】
int Find(int a[][N] int R,int*row,iht*col)
{int i,j,k,c,t;int FOUND=0;
for(i=0;!FOUND&&i<N-R+1;i++) { /*从第0排开始查找*/
(1);
while (j<N-R+1&&!FOUND) {
for (k=0;(2)&&a
[j+k]==0;k++); /*查找第i排连续的R个空座位*/
if (k>=R) { /*找到第i排连续的R个空座位*/
for (c=0;c<R;c++) { /*查找其余的R*(R-1)个座位*/
for (t=1;t<R;t++)
if (a[(3)][j+c]!=0) break;
if (t<R) break;
}/*for*/
if ((4)) FOUND=1;
}/*if*/
(5;
}/*while*/
}/*fori*/
if (FOUND) {
*row=i-1; *col=j-1; /*计算正方形区域的左上角坐标*/
return 1;
}
return 0;
}
选项
答案
(1)j=0 (2)k<R,及其等价形式 (3)i+t (4)c>=R,及其等价形式 (5)j++,或++j,或j+=1,或j=j+1
解析
首先将函数代码加上行号,以便说明。
1:int Find (int a[][N],int R,int*row,int*col)
2:{int i,j,k,c,t; int FOUND=0;
3: for (i=0;!FOUND &&i<N-R+1;i++) { /*从第0排开始查找*/
4: (1) ;
5: while (j<N-R+I&&!FOUND) {
6: for(k=0; (2) &&a
[j+k]=0;k++);/*查找第i排连续的R个空座位*/.
7: if (k>=R) { /*找到第i排连续的R个空座位*/
8: for (c=0;c<R;c++) { /*查找其余的R*(R-1)个座位*/
9: for (t=1;t<R;t++)
10: if (a[ (3) ][j+c]!=0) break;
11: if (t<R) break;
12: }/*for*/
13: if ( (4) ) FOUND=1
14: )/*if*/
15: (5) ;
16: }/*while*/
17: )/*fori*/
18c if (FOUND) {
19: *row=i-1; *col=j-1; /*计算正力形区域的左上角坐标*/
20: return 1
21: }
22: return 0;
23: }
根据题目中的说明可知,函数Find()的计算过程就是在有标记的方阵中找出一个 R*R的尚未标记的子方阵。根据第3行的代码及注释“从第
0排开始查找”,可知i起行号计数作用。
在确定的起始行上,显然是从左到右找到一个空座位(即标记为0的矩阵元素),然后考查是否存在连续的R个空座位,若不存在,本行不再
作为起始行,否则应考查与本行的连续R个空座位同列的下一行空座位情况,且从“a
[j+k]==0”可知j起列号计数作用。因此,空(1)处应对
j赋初值0,空(2)处的条件应保证元素a
[j+k]的下标有效,即j+k<N,又知j<=N-R,所以空(2)处应填入“k<R”。
显然,一旦确定了第i行的R个空座位,随后就应考查第i+1行~第i+R-1行上的座位情况,这部分功能是由第8行~第12行代码来实现的。由
于循环变量c的变化范围是0~R-1,t的变化范围是1~R-1,而且以j+c作为列下标,因此空(3).处的行下标应该为“i+t”。第11行代码表示的
是循环for(c:0=;c<R;c++)的中断处理,显然若该循环能在c==R时结束,则说明找到了R*R子方阵,因此空(4)处填入“c=R”。起列号计数
作用的j在条件为“j<N-R+1”的while循环中还需要有改变值的语句,因此空(5)处应填入“j++”。
转载请注明原文地址:https://kaotiyun.com/show/dzjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
在Excel2003中,A1单元格中的值为information,若在A2单元格中输入文本函数“=MID(A1,8,4)”,按回车键后,则A2单元格中的值为(49)。
在Excel中,C3:C7单元格中的值分别为10、OK、20、YES和48,在D7单元格中输入函数“=COUNT(C3:C7)”,按回车键后,D7单元格中显示的值为______。
在Excel2007中,设单元格A1、B1、C1、A2、B2、C2中的值分别为1、3、5、7、9、11,若在单元格D1中输入函数“=MIN(A1:C2)”,按回车键后,则D1单元格中的值为__________。
在数据通信过程中,将模拟信号还原为数字信号的过程称为______。
在Excel中,设A1单元格中的值为2014-5-24,若在A2单元格中输入日期函数“=DAY(A1)”,按回车键后,则A2单元格中的值为(52)。
假设某Word文档中已存在宏“Marcol”,则下列方法中(48)不能正确使用这个宏。
在Excel的A1单元格中输入函数“=LEFT(“信息处理技术员”,2)”,按回车键后,A1单元格中的值为()。
随机试题
下列关于漏洞扫描技术和工具的描述中,正确的是()。
车用空调的制冷剂主要是_______和_______。
下列不属于现代木结构建筑的工艺处理的是()。
下列关于内部控制的说法中,正确的有()。内部控制存在固有限制性,无论如何设计和执行,只能对财务报告的可靠性提供合理的保证,内部控制存在的固有局限性,主要包括()。
阅读下面初中课堂教学导入片段,回答问题。某地理教师在讲述《气温的变化》时,这样导入新课:“同学们,你们听过‘大树穿衣’吗?这个趣闻发生在广西南宁南湖广场,大树穿衣是因为天气变得怎么样呀?嗯,变冷了。那你们听过‘大树打伞’吗?这个趣闻发生在8月的重
甲因为男友乙不忠而生恨意,决定杀了他。某日把乙引到家中将毒药掺入饮料中让其喝下。乙昏迷之际,甲离家到附近的湖边准备自杀。徘徊之际,甲心生悔意,跑回家中救乙,发现乙已被家人送往医院,并脱离生命危险。对甲的处罚应( )。
定义:①形象思维是在对形象信息传递的客观形象体系进行感受、储存的基础上,结合主观的认识和情感进行识别(包括审美判断和科学判断等),并用一定的形式、手段和工具(包括文学语言、绘画线条色彩、音响节奏旋律及操作工具等)创造和描述形象(包括艺术形象和科学形
电影纪录片的数量正在逐渐下降,能够在影院放映的纪录片已属_________,“幽暗大厅的芳香”越来越被各种各样无色无味的电子雾_________,也越来越成为人们心中的记忆。填入画横线部分最恰当的一项是:
IaskedLilywhethershewantedtogoswimmingwithmeandshenodded.
Echowasabeautifulnymph,fondofthewoodsandhills,whereshedevotedherselftowoodlandsports.ShewasafavoriteofArt
最新回复
(
0
)