首页整卷下载分项下载 试卷搜索题目搜索全站搜索招考信息

2015年上半年程序员下午试卷案例

分类:软考/初级_程序员    来源:软考

1
 
(共15分)
阅读以下说明和流程图,填补流程图中的空缺,将解答填入答题纸的对应栏内。
【说明】
下面流程图的功能是:在给定的两个字符串中查找最长的公共子串,输出该公共子串的长度L及其在各字符串中的起始位置(L=0时不存在公共字串)。例如,字符串"the light is not bright tonight ” 与“ Tonight the light is not bright ”的最长公共子串为 "the light is not bright?,长度为22,起始位置分别为2和10。
设A[1:M]表示由M个字符A[1],A[2],…,A[M]依次组成的字符串;B[1:N]表示由N个字符B[1], B[2],…,B[N]依次组成的字符串,M≥N≥1。
本流程图采用的算法是:从最大可能的公共子串长度值开始逐步递减,在A、B字符串中查找是否存在长度为L的公共子串,即在A、B字符串中分别顺序取出长度为L 的子串后,调用过程判断两个长度为L的指定字符串是否完全相同(该过程的流程略)。

 
问题:1.1   [流程图】
 
 
2
 
(共15分)
阅读以下说明和C函数,填补函数代码中的空缺,将解答填入答题纸的对应栏内,
【说明1】
函数f(double eps)的功能是:利用公式计算并返回π的近似值。
 
问题:2.1   【函数1】

【说明2】
函数fun(Char *str)的功能是:自左至右顺序取出非空字符串str中的数字字符,形成一个十进制整数(最多8位)。例如,若str中的字符串为"iyt?67kpf3g8d5.j4ia2e3p12”, 则函数返回值为67385423。
【C函数2】
 
 
3
 
(共15分)
阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
【说明】
下面的程序代码根据某单位职工的月工资数据文件(名称为Salary.dat,文本文件), 通过调用函数GetlncomeTax计算出每位职工每月需缴纳的个人所得税额并以文件(名称为IncomeTax.dat,文本文件)方式保存。
例如,有4个职工工资数据的Salary.dat内容如下,其中第一列为工号(整数),第2列为月工资(实数)。
1030001  6200.00
1030002  5800.00
2010001  8500.00
2010010  8000.00
相应地,计算所得IncomeTax.dat的内容如下所示,其中第3列为个人所得税额:
1030001 6200.00  47.20
1030002 5800.00  35.94
2010001 8500.00  233.50
2010010 8000.00  193.00
针对工资薪金收入的个人所得税计算公式为:
个人所得税额=应纳税所得额X税率—速算扣除数
其中,应纳税所得额=月工资—三险一金—起征点
税率和速算扣除数分别与不同的应,如表3-1所示。

设三险一金为月工资的19%,起征点为3500元。
例如,某人月工资为5800元,按规定19%缴纳三险一金,那么:
其应纳税所得额X=5800—5800x19%—3500=1198元,对应税率和速算扣除数分别为3%和0元,因此,其个人所得税额为1198X3%-0=35.94元。
 
问题:3.1   【C代码】
 
 
4
 
(共15分)
阅读以下说明和C函数,填补代码中的空缺,将解答填入答题纸的对应栏内。
【说明】
函数Combine(LinkList La, LinkList Lb)的功能是:将元素呈递减排列的两个含头结点单链表合并为元素值呈递增(或非递减)方式排列的单链表,并返回合并所得单链表的头指针。例如,元素递减排列的单链表La和Lb如图4-1所示,合并所得的单链表如图4-2所示。
 
问题:4.1   【c函数】
 
 
5
 
(共15分)
阅读下列说明和C++代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
 
问题:5.1   【说明】
设计RGB方式表示颜色的调色板,进行绘图,其类图如图5-1所示9该程序的C++ 代码附后。

【C++代码】

 
 
6
 
(共15分)
阅读以下说明和Java代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
 
问题:6.1   【说明】
设计RGB方式表示颜色的调色板,进行绘图。其类图如图6-1所示。该程序的Java 代码附后。

【java代码】