- 18
- 0
- 约7.9千字
- 约 18页
- 2021-08-24 发布于北京
- 举报
2016上半年软件评测师考试真题及答案-下午卷
试题一
阅读以下说明和流程图,填补流程图和问题中的空缺(1)~(5),将解答填入答题纸的对应栏内。
【说明】
设整型数组A[1:N]每个元素的值都是1到N之间的正整数。一般来说,其中会有一些元素的值是重复的,也有些数未出现在数组中。下面流程图的功能是查缺查重,即找出A[1:N]中所有缺的或重复的整数,并计算其出现的次数(出现次数为0时表示缺)。流程图中采用的算法思想是将数组A的下标与值看作是整数集[1:N]加上的一个映射,并用数组C[1:N]记录各整数出现的次数,需输出所有缺少的或重复的数及其出现的次数。
【流程图】
【问题】
如果数组A[1:5]的元素分别为{3,2,5,5,1},则算法流程结束后输出结果为:
(5) 输出格式为:缺少或重复的元素,次数(0表示缺少)
参考答案:
(1)A[i]
(2)C[k]+1
(3)0
(4)k
和C[k]
(5)4,{1,1,1,0,2}
试题分析:
(1)A[i]
//A[i]赋给K,
(2)C[k]+1//C[k]值加1,i循环中,将A{i}中存在的值在C[k]中相应位数上加1。以A[1:5]={3,2,5,5,1}为例,当i=1时,k=A[1]=3,则C[3]+1,即C[1:5]变成{0,0,1,0,0}。
(3)0
//判断C[k]值是否为0,为零这说明k未缺少值
(4)k
和C[k]
//k位重复数,C[k]为重复次数
(5)在范例中,4没有出现,1、2、3分别出现了1次,5出现了两次。
试题二
阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
【说明1】
递归函数is_elem(char ch, char *set)的功能是判断ch中的字符是否在set表示的字符集合中,若是,则返回1,否则返回0。
【C代码1】
int is_elem (char ch ,char*set)
{
If(*set==‘\0’)
return 0;
else
If((1))
return 1;
else
return is_elem((2))
}
【说明2】
函数char*combine(char* setA,char *setB)的功能是将字符集合A(元素互异,由setA表示)和字符集合B(元素互异,由setB表示)合并,并返回合并后的字符集合。
【C代码2】
char*combine(char *setA, char*setB)
{
int i,lenA, lenB, lenC;
lenA=strlen(setA);
lenB=strlen(setB);
char*setC=(char*)malloc(lenA+lenB+1);
if(!setC)
return NULL;
strncpy(setC,setA,lenA); //将setA的前lenA个字符复制后存入setC
lenC = (3);
for(i=0;i<lenB;i++)
if((4)) //调用is_elem判断字符是否在setA中
setC[lenC++]=setB[i];
(5) =‘/0’; //设置合并后字符集的结尾标识
return setC;
}
参考答案:
(1)set[0]==ch
(2)ch,*set-1
(3)lenA
(4)is_elem(setB[i],*setA)==0
(5)setC[lenC+1]
试题分析:
If(set[0]==ch)//取出set第一个元素与ch字符比较是否相等
return is_elem(ch,*set-1) // 从set第二个元素开始重新递归代入函数执行
strncpy(setC,setA,lenA); //将setA的前lenA个字符复制后存入setC
lenC=lenA;
for(i=0;i<lenB;i++)
ifis_elem(setB[i],*setA)==0) //调用is_elem判断字符是否在setA中
setC[lenC++]=setB[i];
setC[lenC+1]=‘/0’; //设置合并后字符集的结尾标识
returnsetC;
试题三
阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
【说明】
某文本文件中保存了若干个日期数据,格式如下(年/月/日):
2005/12/1
2013/2/29
1997/10/11
1980/5/15
....
但是其中有些日期是非法的,例如2013/2/29是非法日期,闰年(即能被400整除
您可能关注的文档
- 2011上半年程序员考试真题及答案-下午卷.doc
- 2011下半年程序员考试真题及答案-上午卷.doc
- 2011下半年程序员考试真题及答案-下午卷.doc
- 2012上半年程序员考试真题及答案-上午卷.doc
- 2012上半年程序员考试真题及答案-下午卷.doc
- 2012下半年程序员考试真题及答案-上午卷.doc
- 2012下半年程序员考试真题及答案-下午卷.doc
- 2013上半年程序员考试真题及答案-下午卷.doc
- 2013下半年程序员考试真题及答案-上午卷.doc
- 2013下半年程序员考试真题及答案-下午卷.doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
原创力文档

文档评论(0)