


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、初级程序员下午试题-96(总分:105.00,做题时间:90分钟)、试题一(总题数:1,分数:15.00)阅读以下说明和算法,完善算法并回答问题,将解答写在对应栏内。说明假设以二维数组G1.m,1.n表示一幅图像各像素的颜色,则Gi,j表示区域中点(i,j 处的颜色,颜色值为0到k的整数。下面的算法将指定点(i 0,j 0)所在的同色邻接区域的颜色置换为给定的颜色值。约定所有与点(i 0,j 0)同色的上、下、左、右可连通的点组成同色邻接区域。例如,一幅8X9像素的图像如图1-1所示。设用户指定点(3,5),其颜色值为0,此时其上方(2,5)、下方 (4,5)、右方(3,6)邻接点的颜色值都为
2、0,因此这些点属于点(3,5)所在的同色邻接区域,再从上、下、左、 右四个方向进行扩展,可得岀该同色邻接区域的其他点(见图1-1中的阴影部分)。将上述同色区域的颜色替换为颜色值7所得的新图像如图1-2所示。(分数:15.00 )填空项1:解析:填空项1:解析:填空项1:解析:填空项1:解析:填空项1:解析:二、试题二(总题数:1,算法输入:矩阵G,点的坐标(i 0,j 0),新颜色值newcolor。输出:点(i 0,j 0)所在同色邻接区域的颜色置换为newcolor之后的矩阵 G算法步骤(为规范算法,规定该算法只在第七步后结束):第一步:若点(i 0,j 0)的颜色值与新颜色值 newco
3、lor相同,则(1);第二步:点(i 0,j 0)的颜色值t oldcolo r;创建栈S,并将点坐标(i ,j 0)入栈;第三步:若 ,则转第七步;第四步:栈顶元素出栈t (x,y),并 ;第五步:1)若点(x,y-1)在图像中且Gx,y-1等于 oldcolor,_则(x,y-1)入栈S2)若点(x,y+1)在图像中且Gx,y+1等于oldcolor,则(x,y+1)入栈S3)若点(x-1,y)在图像中且Gx-1,y等于oldcolor,则(x-1,y)入栈S4)若点(x+1,y)在图像中且Gx+1,y)等于oldcolor,则(x+1,y)入栈S第六步:转第七步:算法结束。问题是否可以将
4、算法中的栈换成队列 ?回答:(5)(正确答案:转第七步)(正确答案:栈为空)(正确答案:newcolor TGx,y)(正确答案:转第三步)(正确答案:可以)分数:15.00)阅读以下说明和C程序,将应填入(n)处的字句写在答题纸的对应栏内说明下面的程序按照以下规则输岀给定名词的复数形式: a.若名词以“ y”结尾,则删除y并添加“ ies ”; b.若名词以“ s”、“ ch”或“ sh”结尾,则添加“ es”;C.其他所有情况,直接添加“s ”。C语言程序# include# includechar *plural (char *word)int n;char *pstr;n=strlen
5、(word); /*求给定单词的长度*/pstr=(char *) malloc(n+3); /*申请给定单词的复数形式存储空间 */if (! pstr|n 2)return NULL;strcpy (pstr,word);/*复制给定单词 */if( (1) pstrn-1 = i-; pstrn=e; pstrn+1=s; (2);else if(pstrn-1=s |pstrn-1=h & (3)pstrn=e; pstrn+1=s; pstrn+2= O;elsepstrn=s; pstrn+1= 0;;main ()int i; char *ps;char wc910=chair,
6、 dairy, boss, circus, fly, dog, church, clue, dish);for(i=0; i 0)for (q=0 ; q M. cols ; q+)numq=0;for (t=0; t M.elements;+t)/* 计算矩阵 M中每一列非零元素数目*/ num M.datat.c+;/*计算矩阵M中每列第一个非零元素在其转置矩阵三元组顺序表中的位置*/(3);for(j=1;j M.cols;j+)cpotj= (4 /*以下代码完成转置矩阵MT三元组顺序表元素的设置*/for(t=0;t =R) /*找到第i排连续的R个空座位*/for(c=0;cv R
7、;c+) /* 查找其余的 R*(R-1)个座位 */for(t=1;tv R;t+)if(a (3) j+c!=0)break;if(t v R)break;/*for*/if( (4) )FOUND=1;/*if*/(5);/*while*/*for i*/if(FOUND)*row=i-1; *col=j-1; /*计算正方形区域的左上角坐标*/return 1;return 0;填空项1:(正确答案:j=0 )解析:填空项1:(正确答案:k v R)解析:填空项1:(正确答案:i+t )解析:填空项1:(正确答案:c =R)解析:填空项1:(正确答案:j+ 或 j+=1 )解析:五、试
8、题五(总题数:1,分数:15.00)(分数:15.00 )阅读以下说明和C函数,将应填入(n)处的字句写在答题纸的对应栏内。说明某班级有N名学生,他们可根据自己的情况选修名称和数量不尽相同的课程。设 选课程及成绩用链表结构存储,如图5-1所示。N等于6,学生信息、所程序中相应的类型定义如下:#define N 6struct nodechar cname5; /* 课程名 */int grade; /* 成绩 */struct node *next; /*指针,指示某学生选修的下一门课程及成绩*/struct studentchar xh5; /* 学号 */char name20; /* 姓
9、名 */struct node *link; /*指针,指示出选修的课程及成绩链表*/stud_in fon;Studn fo为一个全局数组。函数func(char kc,int *num)的功能是统计选修了课程名为kc的学生的人数,并返回该课程的平均成绩(若无人选修该课程,则平均成绩为0),参数num带回选修课程kc的学生人数。C语言函数double func(char kc, int *num)int i, count=0, sum=0; /*count用于记录选修课程名为kc的学生的人数*/double avg=0.0;struct node *p;for(i=0; i v N; i+)
10、p= (1) ; /*取第土个学生所修课程链表的头指针*/while (p)if( (2)sum= (3);count+;break;/* if*/p=p- next;/*while*/;if( (5)avg=(double) sum /count; /*计算平均成绩 */return avg;/*func*/从下列的2道试题(试题六至试题七)中任选1道解答。如果解答的试题数超过1道,则题号小的1道解答有效。(分数:15.00 )填空项1:(正确答案:stud_infoi.link)解析:填空项1:(正确答案:!strcmp(p- cname,kc)解析:填空项1:(正确答案:sum+p- g
11、rade )解析:填空项1:(正确答案:*num=count)解析:填空项1:(正确答案:count!=0 )解析:六、试题六(总题数:1分数:15.00)阅读以下说明和C+程序代码,将应填入(n)处的字句写在答题纸的对应栏内。说明在下面的C+代码中,类SalesTicket 能够完成打印票据正文的功能,类HeadDecorator与FootDecorator分别完成打印票据的抬头和脚注的功能。已知该程序运行后的输岀结果如下所示,请填补该程序代码中的 空缺。这是票据的抬头!这是票据正文!这是票据的脚注! 这是票据的抬头!这是票据的脚注!C+程序代码#include using namespac
12、e std;class SalesTicketpublic;(1) printTicket()cout 这是票据正文! class Decorator : public SalesTicketSalesTicket *ticket;public :Decorator (SalesTicke *t)ticket=t;void printTicket ()if (ticket!=NULL)ticket- printTicket();class HeadDecorator:public Decoratorpublic:HeadDecorator(SalesTicket *t): (2)void pr
13、intTicket()cout 这是票据的抬头! class FootDecorator:public Decoratorpublic:FootDecorator(SalesTicket *t): (3)void printTicket()Decorator:printTicket();cout 这是票据的脚注! void main (void)SalesTicket t;FootDecorator f(&t);HeadDecorator h( (4);h.printTicket();cout endl;FootDecorator a(NULL);HeadDecorator b( (5);b.
14、printTicket();(分数:15.00 )填空项1:(正确答案:virtual void)解析:填空项1:(正确答案:Decorator(t))解析:填空项1:(正确答案:Decorator(t))解析:填空项1:(正确答案:&f)解析:填空项1:(正确答案:&a)解析:七、试题七(总题数:1,分数:15.00)阅读以下说明和Java程序代码,将应填入(n)处的字句写在答题纸的对应栏内。说明在下面的Java程序代码中,类 SalesTicket能够完成打印票据正文的功能,类HeadDecorator与FootDecorator分别完成打印票据的抬头和脚注的功能。己知该程序运行后的输出结
15、果如下所示,请填补 该程序代码中的空缺。这是票据的抬头!这是票据正文!这是票据的脚注! 这是票据的抬头!这是票据的脚注!Java程序代码public class SalesTicketpublic void printTicket()(” 这是票据正文!);public class Decorator extends SalesTicket SalesTicket ticket;public Decorator(SalesTicket t)ticket =t ;public void printTicket() if(ticket!=null)ticket. printTicket();pub
16、lic class HeadDecorator extends Decoratorpublic HeadDecorator(SalesTicket t) public void printTicket()(”这是票据的抬头!);Super.printTicket();public class FootDecorator extends Decorator public FootDecorator(SalesTicket t);public void printTicket() super.printTicket();(” 这是票据的脚注 r);public class Mainpublic static void main(String args)D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2019-2025年二级注册建筑师之法律法规经济与施工题库检测试卷A卷附答案
- 乡村庭院收购合同样本
- 内勤聘任合同样本
- 如何与家人沟通财务问题计划
- 公司车贷合同样本
- 推广绿色医院建设的计划
- 隧道涂装钢管架施工方案
- 产权车位定金合同标准文本
- 价格保护合同样本
- 2025年钢材购销(订货)合同范文
- 2025至2030年石榴养生酒项目投资价值分析报告
- 2025-2030MicroLED显示器行业市场现状供需分析及投资评估规划分析研究报告
- 2025年中国螺旋埋弧焊管行业发展前景预测及投资战略咨询报告
- 长沙2025年湖南长沙县招聘机关事业单位工作人员26人笔试历年参考题库附带答案详解
- 七年级数学新北师大版(2024)下册第一章《整式的乘除》单元检测习题(含简单答案)
- 《冠心病》课件(完整版)
- DZ/T 0462.3-2023 矿产资源“三率”指标要求 第3部分:铁、锰、铬、钒、钛(正式版)
- 创伤护四项技术
- dse7320软件操作手册
- 超分子课件第2部分
- 煤矿机电质量标准化执行标准(2015)
评论
0/150
提交评论