【计算机类职业资格】初级程序员下午试题-49及答案解析.doc
《【计算机类职业资格】初级程序员下午试题-49及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】初级程序员下午试题-49及答案解析.doc(13页珍藏版)》请在麦多课文档分享上搜索。
1、初级程序员下午试题-49 及答案解析(总分:90.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)1.阅读以下说明和流程图,回答问题将解答填入对应栏。 说明 本流程图采用“双向冒泡法”实现对数组 an的排序。双向冒泡法就是在逐步缩小的数组内,分别从数组的两端开始向内搜索,同时将大数往上浮,小数往下沉,每次交换一组数。flag 是一个标志,发生过交换就置为 1,当这个循环过程都不再发生交换时,则数组排序完成。 注:流程中循环开始的说明按照“循环变量:循环初值,循环终值,增量”格式描述; 定义 swAPa,b为将 a 和 b 两数交换。 * 问题 将流程图的(1)(5)处补充
2、完整。(分数:15.00)填空项 1:_二、试题二(总题数:1,分数:15.00)2.阅读以下函数说明和 C 语言函数,将应填入 (n) 处的字句写在对应栏内。 说明 1 本程序输入一字符串,并将其中的大写字母变成小写字母。 C 函数 1 #includestdio.h void main() int i=0; char s120; printf(“Enter a string./n“); scanf(“%s“,s); while( (1) ) if( (2) ) si=si-A+a; i+; printf(“%s/n“,S); 说明 2 本程序用二分法,在已按字母次序从小到大排序的字符数组
3、listlen中,查找字符 c,若 c 在数组中,函数返回字符 c 在数组中的下标,否则返回-1。 C 函数 2 int search(char list,char c,int len) ( intlow=0,high=len-1,k; while( (3) ); k=(10w+high)/2; if( (4) ) return k; else if( (5) )high=k-1; else low=k+1; return -1; (分数:15.00)填空项 1:_三、试题三(总题数:1,分数:15.00)3.阅读以下函数说明和 C 语言函数,将应填入 (n) 处的字句写在对应栏内。 说明 函
4、数 void diff(Node*A,Node*B,Node*r)的功能是:根据两个由整数按升序构成的单链表 L1 和 L2(分别由A,B 指向)构造一个单链表 L3(由 *r 指向),要求 L3 中的所有整数都是 L1,并且不是 L2 中的整数,还要求L3 中的所有整数都两两不等。 C 函数 #includemalloc.h typedef struct node int data; struct node*next; Node; void diff(Node*A,Node*B,Node*r) int lastnum; Node*P; *r=NULL; if(!A) return; whil
5、e( (1) if(A-dataB-data) lastnum=Adata; p=(Node*)malloc(sizeof(Node); P-data=lastnum; P-next= *r; (2) ; do A=A-next; while( (3) ; else iffA-dataB-data) B=B-next; else (4) ; lastnum=A-data; while (A while(A) lastnum=A-data; p=(Node*)malloc(sizeof(Node); P-data=lastnum; (5) ; *r=P; while(A (分数:15.00)填空
6、项 1:_四、试题四(总题数:1,分数:15.00)4.阅读以下函数说明和 C 语言函数,将应填入 (n) 处的字句写在对应栏内。 说明 设一个环上有编号为 0n-1 的 n 粒颜色不尽相同的珠子(每粒珠子颜色用字母表示,n 粒珠子的颜色由输入的字符串表示)。从环上的某两粒珠子间剪开,则环上珠子形成一个序列然后按以下规则从序列中取走珠子:首先从序列左端取走所有连续的同色珠子;然后从序列右端在剩下的珠子中取走所有连续的同色珠子,两者之和为该剪开处可取走珠子的粒数。在不同位置剪开,能取走的珠子也不尽相同。 本程序所求的是在环上哪个位置剪开,按上述规则可取走的珠子粒数最多。程序中用数组存储字符串。例
7、如:10 粒珠子颜色对应字符串为“aaabbbadcc”,在 0 号珠子前剪开,序列为 aaabbbadcc,从左端取走3 粒 a 色珠子,从右端取走 2 粒 c 色珠子,共取走 5 粒珠子。若在 3 号珠子前剪开,即 bbbadccaaa,共取走 6 粒珠子。 C 函数 int count(char*s,int start,int end) inti,c=0,color=sstart,step=(startend)?-1:1; for(i=start;si=color;i+=step) if(step0 (2) ; return c; void main() char t,s120; int
8、 i,j,C,len,maxc,cut=0; printf(“请输入环上代表不同颜色珠子字符串:“); scanf(“%s“,s ); len=strlen(s); for(i=maxc=0;ilen;i+) / *尝试不同的剪开方式 */ c=count(s,0,len-1); if(clen) C+=count( (3) ); if(cmaxc)cut=i;maxc=c; ) /*数组 s 的元素循环向左移动一个位置 */ t=s0; for(j=1;ilen;i+) (4) ; (5) ; printf(“在第%d 号珠子前面剪开,可以取走%d 个珠子./n“,cut,maxc); (分
9、数:15.00)填空项 1:_五、试题五(总题数:1,分数:15.00)5.阅读以下说明和 C+程序,将应填入 (n) 处的字句写在对应栏内。 说明 下面程序是为汽车市场编制的一个程序的一部分。其中 automobile 是基类。 C+程序 /Auto.h #ifndef AUTO_H #define AUTO_H class automobile (1): int miles_per_gallon; /汽车每加仑行驶公里数 float fuel_capacity; /油箱容积 public: void initialize(int in_mpg,int in_fuel); int get_m
10、pg(void); float get_fuel(void); float travel_distance(void); #endif /Auto.cpp #include“auto.h“ void automobile:initialize(int in_mpg,float in fuel) miles_per_gallon=in_mpg; fuel_capacity=in_fuel; ) int automobile:get_mpg() /提供一辆特定汽车每加仑公里数 return miles per_gallon; float automobile:get_fuel() /提供油箱容积
11、return fuel_capacity; float automobile:travel_distance() return (2) /car.h #ifndef CAR_H #define CAR_H #include“auto.h“ class car: (3) int Total_doors; public: void initialize(int in_mpg,float in_fuel,int doors=4); int doors(void); ; #endif /car.cpp #include“car.h“ void car:initialize(int in_mpg,flo
12、at in_fuel,int door) Total_doors=door; miles_per_galion=in_mpg; fuel_capacity=in_fuel; int car:doors(void) return Total doors; /Allauto.cpp #include #include“auto.h“ #include“car.h“ int main() car sedan; sedan.initialize(24,20.0,4); tout“The sedan can travel“ (4) “miles./n“; cout“The sedan has“ (5)
13、“doors./n“; return 0; (分数:15.00)填空项 1:_六、试题六(总题数:1,分数:15.00)6.阅读以下说明和 Java 程序,将应填入 (n) 处的字句写在对应栏内。 说明 下面程序是为汽车市场编制的一个程序的一部分。其中 automobile 是基类。 Java 程序 class MainJava public static void main(String agr) car sedan=new car(); sedan.initialize(24,20.0,4); System.out.println (“The sedan can travel“ + (1)
14、 +“miles./n“); System.out.println (“The sedan has“ + (2) +“doors./n“); class automobile protected int miles_per_gallon; /汽车每加仑行驶公里数 (3) double fuel_capacity; /油箱容积 public void initialize(int in_mpg,int in_fuel) miles_per_galion=in_mpg; fuel_capacity=in_fuel; public int get_mpg()/提供一辆特定汽车每加仑公里数 retur
15、n miles_per_gallon; public double get_fuel()/提供油箱容积 return fuel_capacity; public double travel_distance()/计算满油箱情况下的可行驶总公里数 return (4) ; class car (5) private int Total_doors; public void initialize(int in_mpg,double in_fuel,int doors) Total_doors=doors; miles_per_gallon=in_mpg; fuel_capacity=in_fuel
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 初级 程序员 下午 试题 49 答案 解析 DOC
