2017年上半年软考程序员考试真题(案例分析)下午试题.pdfVIP

  • 78
  • 0
  • 约1.03万字
  • 约 17页
  • 2020-11-05 发布于四川
  • 举报

2017年上半年软考程序员考试真题(案例分析)下午试题.pdf

2017 年上半年软考程序员考试真题 (案例分析)下午 试题 试题一(共 20 分) 阅读下列说明和图,回答问题 1 至问题 3,将解答填入答题纸的 对应栏内。 【说明】 设有二维整数数组(矩阵) A[1:m,1:n], 其每行元素从左至右是 递增的, 每列元素从上到下是递增的。 以下流程图旨在该矩阵中 需找与给定整数 X 相等的数。 如果找不到则输出 “false ”; 只要 找到一个(可能有多个)就输出“ True ”以及钙元素的下标 i 和 j (注意数组元素的下标从 1 开始)。 例如,在如下矩阵中查找整数 8,则输出伟: True,4,1 2469 45910 671012 891113 流程图中采用的算法如下: 从矩阵的右上角元素开始, 按照一定 的路线逐个取元素与给定整数 X 进行比较 (必要时向左走一步或 向下走一步取下一个元素) ,直到找到相等的数或超出矩阵范围 (找不到)。【流程图】 【问题】该算法的时间复杂数是() 供选择答案: A.O (1) B.O (m+n) C. (m*n)D,O (m2+n2) 试题二(共 15 分) 阅读下列说明和 C 函数,填补函数中的空缺, 将解答填入答案纸 的对应栏目内。 【说明】 函数 isLegal (char*ipaddr )的功能是判断以点分十进制数表 示的 iPV4 地址是否合法。 参数 ipadddr 给出表示 iPV4 地址的字 符串的首地址,串中仅含数字字符和“ . ”。若iPV4 地址合法则 返回 1,否则反馈 0. 判定伟合法的条件是: 每个十进制数的值位 于整数区间 [0,25] ,两个相邻的树之间用“ . ”分隔,共4 个数、 3 个 “.” 。 ; 例 如 , 192.168.0.15 、 1.0.0.1 是 合 法 的 , 192.168.1.256 、1.1..1 是不合法的。 【函数】 int isLegal (char*ipaddr ) ﹛ int flag; int cur Val; //curVal 表示分析出的一个十进制数 int decNum=0,dotNum=0; //decNum用于记录十进制数的个数 //dotNum用户记录点的个数 Char*p= () for (;*p;p++ )﹛ curVal=0;flag=0 While (isdigit (*p )) ﹛//判断是否伟数字字符 CurVal= () +*p- ′0 ′; () flag=1; ﹜ if (curVal255 )﹛ return0; ﹜ if (flag )﹛ () ﹜if (*p= ′. ′﹛ dotNum++; ﹜ ﹜ if ()﹛ return1 ; ﹜ return0; ﹜ 【试题三】 阅读下列说明和 C 函数,填补 C 函数中的空缺, 将解答填入答案 纸的对应栏目内。 【说明】 字符串是程序中常见的一种处理对象,

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档