当前位置: 首页icon 软考首页 >考试科目 >2018年11月程序员考前模拟试题下午(一)之四

2018年11月程序员考前模拟试题下午(一)之四

作者:mb60efa0d0657ac2023-11-16 01:00:15
备考咨询 刷题指导
添加专属学姐
下载资料 2024上半年软考备考资料+考试大纲
下载按钮 下载
引号

摘要:对于【程序员】软考考试而言,试题无疑是最重要的学习资料之一。在软考备考过程中,吃透试题、掌握试题所考知识点、熟悉试题的出题思路,对我们提升分数的效果是最明显的,通过对试题的反复练习,还可以查漏补缺。今天,给大家带来【2018年11月程序员考前模拟试题下午(一)】部分试题的详解,一起来看看吧~1、阅读下列说明和C代码,回答问题,将解答填入答题纸的对应栏内。【说明】计算一个

引号
摘要:对于【程序员】软考考试而言,试题无疑是最重要的学习资料之一。在软考备考过程中,吃透试题、掌握试题所考知识点、熟悉试题的出题思路,对我们提升分数的效果是最明显的,通过对试题的反复练习,还可以查漏补缺。今天,给大家带来【2018年11月程序员考前模拟试题下午(一)】部分试题的详解,一起来看看吧~



1、阅读下列说明和C代码,回答问题,将解答填入答题纸的对应栏内。【说明】计算一个整数数组a的最长递增子序列长度的方法描述如下:假设数组a的长度为n,用数组b的元素b[i]记录以a[i](0≤i<n)为结尾元素的最长递增子序列的长度为 ;其中b[i]满足最优子结构,可递归定义为:【C代码】下面是算法的C语言实现。(1)常量和变量说明a:长度为n的整数数组,待求其最长递增子序列b:长度为n的数组,b[i]记录以a[i](0≤i<n)为结尾元素的最长递增子序列的长度,其中0≤i<nlen:最长递增子序列的长度i, j:循环变量temp:临时变量(2)C程序#include <stdio.h>

int maxL(int*b, int n) {

int i, temp=0;

for(i=0; i<n; i++) {

 

   
if(b[i]>temp)

     
temp=b[i];

  }

  return temp;

}

int main() {

  int n,
a[100], b[100], i, j, len;

 
scanf("%d", &n);

  for(i=0;
i<n; i++) {      

   
scanf("%d", &a[i]);

  }

      (1)   
;

  for(i=1;
i<n; i++) {

    for(j=0,
len=0;     (2)    ; j++) {

      if(    (3)    
&& len<b[j]) 

        len=b[j];

    }

        (4)   
;

  }

 
Printf("len:%d\n", maxL(b,n));

 
printf("\n");

}【问题1】(8分)根据说明和C代码,填充C代码中的空(1)~(4)。【问题2】(4分)  根据说明和C代码,算法采用了 (5) 设计策略,时间复杂度为 (6) (用O符号表示)。【问题3】(5分) 已知数组a={3,10,5,15,6,8},据说明和C代码,给出数组b的元素值。
答案:

【问题1】
(1)b[0]=1
(2)j<i
(3)a[j]<=a[i]
(4)b[i]=len+1
【问题2】(4分)   
(5)动态规划法 
(6)O(n2)
【问题3】(5分) 
B={1,2,2,3,3,4}


答题解析:



查看完整试题>>>


代理合作学习群