[计算机类试卷]2015年下半年软件水平考试(初级)程序员下午(应用技术)真题试卷及答案与解析.doc
《[计算机类试卷]2015年下半年软件水平考试(初级)程序员下午(应用技术)真题试卷及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]2015年下半年软件水平考试(初级)程序员下午(应用技术)真题试卷及答案与解析.doc(13页珍藏版)》请在麦多课文档分享上搜索。
1、2015年下半年软件水平考试(初级)程序员下午(应用技术)真题试卷及答案与解析 1 阅读以下说明和流程图,填补流程图中的空缺,将解答填入答题纸的对应栏内。【说明】下面流程图的功能是:在给定的一个整数序列中查找最长的连续递增子序列。设序列存放在数组 A1: n(n2)中,要求寻找最长递增子序列 AK: K+L一1(即 AK AK+1 AK+L一 1)。流程图中,用 Kj和 Lj分别表示动态子序列的起始下标和长度,最后输出最长递增子序列的起始下标 K和长度 L。例如,对于序列 A=1, 2, 4, 4, 5, 6, 8, 9, 4, 5, 8,将输出 K=4, L=5。【流程图】 注:循环开始框内
2、应给出循环控制变量的初值和终值,默认递增值为 1,格式为:循环控制变量 =初值,终值 2 阅读以下说明和 C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 下面的代码运行时,从键盘输入一个四位数 (各位数字互不相同,可以有 0),取出组成该四位数的每一位数,重组成由这四个数字构成的最大四位数 max4和最小四位数 min4(有 0时为三位数 ),计算 max4与 min4的差值,得到一个新的四位数。若该数不等于 6174,则重复以上过程, 直到得到 6174为止。 例如,输入 1234,则首先由 4321-1234,得到 3087;然后由 8730-378,得到8352;最后由
3、 8532-2358,得到 6174。 【 C代码】 #include int difference(int a) int t,i,j,max4,min4; for(i=0; i 3; i+) *用简单选择排序法将 a0 a3按照从大到小的顺序排列 * t=i; for(j=i+1; _(1); j+) if(aj at)_(2); if(t!=i) int temp=at; at=ai; ai=temp; max4=_(3); min4=_(4); return max4-min4; int main() int n, a4; printf(“input a positive four-di
4、git number: “); Scanf(“ d“, &n); while(n!=6174) a0=_(5); *取 n的千位数字 * a1=n 100 10; *取 n的百位数字 * a2=n 10 10; *取 n的十位数字 * a3=_(6); *取 n的个位数字 * n=difference(a); return 0; 3 阅读以下说明和 C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 对一个整数序列进行快速排序的方法是:在待排序的整数序列中取第一个数作为基准值,然后根据基准值进行划分,从而将待排序列划分为不大于基准值者 (称为左子序列 )和大于基准值者 (称为右子
5、序列 ),然后再对左子序列和右子序列分别进行快速排序,最终得到非递减的有序序列。函数 quicksort(int a, int n)实现了快速排序,其中, n个整数构成的待排序列保存在数组元素 a0 an一 1中。 【 C代码】 #include Void quicksort(int a, int n) int i, j; int pivot=a0; 设置基准值 i=0; j=n一 1; while (i j) while(i j _(1) j-; 大于基准值者保持在原位置 if (i j) ai=aj; i+; ) while(i j _(2) i+; 不大于基准值者保持在原位置 if (i
6、 j) aj=ai; j-; ai=pivot; 基准元素归位 if(i 1) _(3); 递归地对左子序列进行快 速排序 if(n i一 1 1) _(4); 递归地对右子序列进行快速排序 int main() int i, arr=23, 56, 9, 75, 18, 42, 11, 67); quicksort(_(5); 调用 quicksort对数组 arr进行排序 for(i=0; i类型的 orderList中,即orderList push_back(order)。 placeorders()函数是实现将所有买卖股票的指示进行实际买入和卖出操作,即采用 for循环,对每个 or
7、derList中的 Stock实例,调用在 BuyStock和 SellStock中实现的 execute()加以执行。 for(int i=0; i orderList size(); i+)orderListi execute(); StockCommand主要是根据操作指示进行股票交易,实现为一个函数 main(),其中创建欲进行 交易的股票对象 aStock和 bStock,创建买 aStock卖 bStock股票的对象 buyStockOrder和 sellStockOrder对象: Order* buyStockOrder=new BuyStock(aStock); Order*
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 2015 年下 半年 软件 水平 考试 初级 程序员 下午 应用技术 答案 解析 DOC
