- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软酷网官网 :
2013年软考程序员下半年下午卷解析
——试题二
问题描述
阅读以下说明和C 函数,填充函数中的空缺,将解答填入答题纸的对应栏内。
【说明】
下面的函数sort(int n,int a[])对保存在数组a 中的整数序列进行非递减排
序。由于该序列中的元素在一定范围内重复取值,因此排序方法是先计算出每个元
素出现的次数并记录在数组b 中,再从小到大顺序地排列各元素即可得到一个非递
减有序序列。例如,对于序列6, 5, 6, 9, 6, 4, 8, 6, 5,其元素在整数区间
[4,9]内取值,因此使数组元素b[0]~ b[5]的下标0~5分别对应数值4~9,顺序
地扫描序列的每一个元素并累计其出现的次数,即将4 的个数记入b[0],5的个数
记入b[l],依此类推,9 的个数记入b[5]。最后依次判断数组b 的每个元素值,并
将相应个数的数值顺序地写入结果序列即可。
对于上例,所得数组b 的各个元素值如下:
b[0] B[1] B[2] B[3] B[4] B[5]
1 2 4 0 1 1
那么在输出序列中写入1 个4、2 个5、4 个6、1 个8、1 个9,即得
4,5,5,6,6,6,6,8,9, 从而完成排序处理。
【C 函数】
void sort (int n, int a[])
{
int *b;
int i, k, number;
int minimum a[0], maximum a[0];
/* minimum和maximum分别表示数组a的最小、最大元素值*/
for(i l; in; i++)
{
if ( (1) )
{
minimum a[i];
}
else
{
软酷网官网 :
if ( (2) ) maximum a [i];
}
}
number maximum - minimum + 1;
if (number l) return;
b (int *)calloc(number, sizeof(int));
if (!b) return;
for(i 0; in; i++) {
/*计算数组a的每个元素值出现的次数并记入数组b */
k a [i] - minimum;
++b[k];
}
/*按次序在数组a 中写入排好的序列*/
i ( 3 ) ;
for(k 0;knumber;k++ )
{
for( ; (4) ;--b[k])
{
a [i++] minimum + ( 5 ) ;
}
}
}
【答案】
(1) a[i]minimum,或a[i] minimum,或其等价形式
(2) a[i]maximum,或a[i] maximum,或其等价形式
(3) 0
(4) b[k],或b[k]0,或b[k]! 0,或其等价形式
(5) k
问题分析
1、本题实现的是对数组进行非递减排序,考察C语言基本语法和运算逻辑。
涉及顺序结构、选择结构、循环结构。
顺序结构:执行顺序是自上而下,依次执行。
选择结构:判断给定的条件,根据判断的结果来控制程序的流程,如:
if (a 1) {
b 2;
} else {
软酷网官网 :
b 3;
}
当a为1时,b等于2,否则b等于3。
循环结构:用来描述重复执行某段算法的问题 ,如:求1+2+3+4+5
int i, sum;
for (i 1; i 5; i++) {
sum sum + i;
}
最后得到的sum值即为1+2+3+4+5的和。
i的值
您可能关注的文档
最近下载
- 《致教师》我的读书心得.pptx VIP
- 中国哲学经典著作导读(西安交大)中国大学MOOC慕课 章节测验期末考试答案.pdf VIP
- 电力市场分析软件:PLEXOS二次开发_(7).高级脚本与模型定制.docx VIP
- (2025秋新版)外研版八年级英语上册《Unit 5》教案.pdf
- 电力市场分析软件:PLEXOS二次开发_(9).案例研究与实践.docx VIP
- 《物业管理师》三级试题(含参考答案).docx VIP
- 电力系统优化与调度软件:PLEXOS二次开发all.docx VIP
- 汉语拼音gkh教学PPT课件.ppt VIP
- 电力市场交易软件:Energy Exemplar PLEXOS二次开发all.docx VIP
- PCS7-VLVL阀门块使用详解.pdf VIP
文档评论(0)