重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
当前位置: 首页 > IT/互联网 > 其他
网友您好, 请在下方输入框内输入要搜索的题目:
搜题

题目

[主观题]

请教:2010年上半年软考程序员-下午试题(标准答案解析版)第1大题第4小题如何解答?

【题目描述】

试题四 (共 15 分 )

阅读以下说明和C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。

【 说明】】

某旅游服务应用程序运行时,根据输入的两个城市名查找其间的距离。各城市间的距离如表4-1所示。表格中的第一行和第一列表示城市名,表中的每个元素是一个整数,代表该元素所在行和列对应的城市之间的距离(单位:km)。

请教:2010年上半年软考程序员-下午试题(标准答案解析版)第1大题第4小题如何解答?【题目描述】试

在程序中,城市名用一维全局数组cityTable存储,城市之间的距离矩阵用二维全局数组kmTable表示,并用相应的值对这两个数组进行初始化。

#define NCities 8 /* 城市个数 */

#define TRUE 1

static char * cityTable[NCities] = { /* 城市名按字典序升序排列 */

"Beijing",

...... /* 其他城市名略去 */

"Sanya",

};

static int kmTable[NCities][NCities] = {

{0, 1697, 2695, 937, 1784, 1356, 926, 2543},

{1697, 0, 313, 1840, 533, 940, 1409, 1505},

...... /* 剩余元素的初始值略去 */

};

程序执行时,首先按提示输入两个城市名,然后在cityTable中查找与城市名对应的下标,最后用该下标在kmTable中找到这两个城市之间的距离。 程序中定义的函数FindCityInSortedArray和GetCity说明如下:

(1)函数 FindCityInSortedArray 的功能是用二分查找法在全局数组 cityTable 中查找城市名所对应的下标值。

(2)函数GetCity的功能是读入城市名,调用函数FindCityInSortedArray来获取城市所对应的下标值。如果该城市名不存在,则提示用户重新输入。

【C 程序】

int main() {

int city1, city2;

city1 = GetCity("输入第1个城市名: ");

city2 = GetCity("输入第2个城市名: ");

printf("%s和%s之间的距离为: %d km.\n", cityTable[city1], cityTable[city2],

kmTable[city1][city2]);

return 0;

}

static int GetCity(char * prompt) {

char * cityName;

int index;

cityName = (char *)malloc(20*sizeof(char));

while (TRUE ) {

printf("%s", prompt);

gets(cityName); /* 获取输入字符串 */

index = FindCityInSortedArray(cityName);

if ( (1) ) break;

printf("城市名不存在,请重新输入。\n");

}

free(cityName);

return (2) ;

}

static int FindCityInSortedArray(char * key) {

int lh, rh, mid, cmp;

lh = 0;

rh = NCities - 1;

while ( (3) ) {

mid = (lh + rh) / 2;

cmp = strcmp( (4) ); /* 比较两个城市名是否相同 */

if (cmp == 0) return (5) ; /* 两个城市名相同 */

if (cmp < 0) { rh = mid - 1; }

else { lh = mid + 1; }

}

return (-1); /* 城市名不存在时返回-1 */

}

【我提交的答案】:1)!cityName 2)index; 3)lh<=rh; 4)citTable[mid],cityname 5)mid

【参考答案分析】:

试题四分析

本题考查C语言程序设计基本能力。要求考生根据给出的案例和执行过程说明,认真阅读理清程序思路,然后完成题目。

本题涉及一维和二维数组操作,以及数组上的查找算法。先考察main()函数,理清程序整体结构,在该函数中提示并输入两个城市名,然后输出这两个城市之间的距离。

函数GetCity的功能是读入城市名,调用函数FindCityInSortedArray来获取城市所对应的下标值index。如果该城市名不存在,则提示用户重新输入。

函数FindCityInSortedArray的功能是用二分查找法在全局数组cityTable中查找城市名所对应的下标值。

最后用该下标在kmTable中找到这两个城市之间的距离。

先考查空(1),因为GetCity在while循环中执行完语句index=FindCityInSorted-Array(cityName)之后,获得城市对应的下标值index而有效的下标值就是城市名称在数组中的位置下标,所以index>=0时说明下标有效,跳出循环。

然后考查空(2),因为程序首先要获得两个城市名称所对应的下标,所以通过GetCity读入城市名称并获取所对应的下标,然后返回所对应的下标值。此处即为获取到的index。

接下来考查空(3)、(4)和(5),因为函数FindCityInSortedArray的功能是用二分查找法在全局数组cityTable中查找城市名所对应的下标值。在已经排序的数组中进行二分查找,在当前数组区域中,如果下界小于上界,则目标元素和中值进行比较,如果相等则返回下标;如果目标元素小于中值元素,则在前半区域(左分支中)继续查找;如果大于中值元素,则在后半区域(右分支中)继续查找。如果最后没有找到所需查找的目标元素,则返回-1。因此,空(3)处填入lh<=rh以判断下界是否小于上界;(4)处目标元素key和中值元素cityTable[mid],中值元素的也可以用*(cityTable+mid)表示;(5)处为比较成功时返回所在元素的下标,此处为mid。

参考答案

(1)index>=0,或等价形式

(2)index

(3)Ih<=rh,或等价形式

(4)key, cityTable[mid]或key,*(cityTable+mid)

(5)mid

【我的疑问】(如下,请求专家帮助解答)

老师你好,请问空四中题目中并没有定义变量key,这里需要的应该是输入的城市名,那么考试能用key吗?

查看参考答案
更多“请教:2010年上半年软考程序员-下午试题(标准答案解析版)第1大题第4小题如何解答?”相关的问题

第1题

请教:2010年上半年软考程序员-上午试题第1大题第26小题如何解答?

【题目描述】

● 表达式“a*(b – c)+d”的后缀式为 (32) 。

(32)

A. abcd*-+

B. ab*c-d+

C. ab-cd+*

D. abc-*d+

【我提交的答案】:
【参考答案与解析】:

正确答案:D

答案分析:

【我的疑问】(如下,请求专家帮助解答)

则么样排

点击查看答案

第2题

请教:2010年上半年软考程序员-上午试题第1大题第5小题如何解答?

【题目描述】

● 若内存按字节编址,用存储容量为 32K×8 比特的存储器芯片构成地址编号A0000H 至DFFFFH 的内存空间,则至少需要 (7) 片。

(7)

A. 4

B. 6

C. 8

D. 10

【我提交的答案】: A
【参考答案与解析】:

正确答案:C

答案分析:

【我的疑问】(如下,请求专家帮助解答)

点击查看答案

第3题

请教:2010年上半年软考程序员-上午试题第1大题第24小题如何解答?

【题目描述】

● 某有限状态自动机的状态图如下图所示(状态 0是初态,状态2是终态),则该自动机不能识别 (30) 。

请教:2010年上半年软考程序员-上午试题第1大题第24小题如何解答?【题目描述】● 某有限状态自动

(30)

A. abab

B. aabb

C. bbaa

D. bbab

【我提交的答案】: B
【参考答案与解析】:

正确答案:A

答案分析:

【我的疑问】(如下,请求专家帮助解答)

点击查看答案

第4题

请教:2006年上半年程序员下午试卷第1大题第6小题如何解答?

【题目描述】

请教:2006年上半年程序员下午试卷第1大题第6小题如何解答?【题目描述】【我提交的答案】:【参考答

【我提交的答案】:

【参考答案分析】:请教:2006年上半年程序员下午试卷第1大题第6小题如何解答?【题目描述】【我提交的答案】:【参考答

【我的疑问】(如下,请求专家帮助解答)

点击查看答案

第5题

请教:2004年上半年程序员下午试卷第1大题第8小题如何解答?

【题目描述】

试题八

请教:2004年上半年程序员下午试卷第1大题第8小题如何解答?【题目描述】试题八【我提交的答案】:【

【我提交的答案】:

【参考答案分析】:请教:2004年上半年程序员下午试卷第1大题第8小题如何解答?【题目描述】试题八【我提交的答案】:【

【我的疑问】(如下,请求专家帮助解答)

老师您好,请问第二空怎么理解

点击查看答案

第6题

请教:2010年上半年(5月份)软考《系统集成项目管理工程师》上午试卷第1大题第12小题如何解答?

【题目描述】

● 根据 《软件文档管理指南》 (GB/T 16680-1996), 以下关于文档评审的叙述,(12)是不正确的。

(12)

A. 需求评审进一步确认开发者和设计者已了解用户要求什么及用户从开发者一方了解某些限制和约束

B. 在概要设计评审过程中主要详细评审每个系统组成部分的基本设计方法和测试计划,系统规格说明应根据概要设计评审的结果加以修改

C. 设计评审产生的最终文档规定系统和程序将如何设计开发和测试以满足一致同意的需求规格说明书

D. 详细设计评审主要评审计算机程序、程序单元测试计划和集成测试计划

【我提交的答案】: B
【参考答案与解析】:

正确答案:D

答案分析:

【我的疑问】(如下,请求专家帮助解答)

2010年上半年(5月份)软考《系统集成项目管理工程师》上午试卷第1大题第12小题如何解答?

点击查看答案

第7题

请教:2010年上半年软考信息系统监理师-下午试题(标准答案版)第5大题第3小题如何解答?

【题目描述】

【问题 3】(4分)

各方准备对网络系统进行竣工验收,请根据你的工程经验,回答下述问题。

(1)验收测试的组织者是:()。

A 项目经理

B 总监理工程师

C 评审专家

D 建设单位主管领导

(2)网络系统验收的步骤如下,请给出正确的顺序 。

(a) 总监理工程师组织专家对验收标准进行会审,提出评审意见,和业主方及承建方进行探讨,如有必要,提出修改意见;

(b) 由业主方、承建方和监理方共同参与验收准备,按照验收方案对系统进行验收工作;

(c) 监理工程师根据网络系统竣工的准备情况,确定是否满足系统验收条件;

(d) 承建方在合同规定时间内提出验收标准;

(e) 总监理工程师确认验收工作是否完成;

(f) 监理工程师按照合同及相关文件对验收标准进行评审;

(g) 监理方向业主方提交最终评审意见,业主方根据评审意见确认验收标准;

【我提交的答案】:

【参考答案分析】:【问题3】

(1)B

(2)(d)-(f)- (a)-(g)-(c)-(b)-(e)

【我的疑问】(如下,请求专家帮助解答)

(1)D

(2)(d)-(f)- (a)-(g)-(c)-(b)-(e)

点击查看答案

第8题

请教:2010年下半年软考程序员-上午试题(标准参考答案版)第1大题第22小题如何解答?

【题目描述】

请教:2010年下半年软考程序员-上午试题(标准参考答案版)第1大题第22小题如何解答?【题目描述】

【我提交的答案】: A
【参考答案与解析】:

正确答案:C

答案分析:

【我的疑问】(如下,请求专家帮助解答)

为什么

点击查看答案

第9题

请教:2010年下半年软考程序员-上午试题(标准参考答案版)第1大题第34小题如何解答?

【题目描述】

请教:2010年下半年软考程序员-上午试题(标准参考答案版)第1大题第34小题如何解答?【题目描述】

【我提交的答案】:
【参考答案与解析】:

正确答案:C

答案分析:

【我的疑问】(如下,请求专家帮助解答)

怎么看图的

点击查看答案

第10题

请教:2010年下半年软考程序员-上午试题(标准参考答案版)第1大题第49小题如何解答?

【题目描述】

● 在数据库设计中,E-R 模型常用于 (57) 阶段。

(57)

A. 需求分析

B. 概念设计

C. 逻辑设计

D. 物理设计

【我提交的答案】: D
【参考答案与解析】:

正确答案:B

答案分析:

点击查看答案

第11题

请教:2010年下半年软考程序员-上午试题(标准参考答案版)第1大题第45小题如何解答?

【题目描述】

● 软件测试方法可分为静态测试和动态测试两大类,人工检测 (53) 。

(53)

A. 属于静态测试和动态测试

B. 属于静态测试

C. 属于动态测试

D. 既不属于静态测试也不属于动态测试

【我提交的答案】: C
【参考答案与解析】:

正确答案:B

答案分析:

点击查看答案
赏学吧APP
TOP
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)
订单号:
遇到问题请联系在线客服
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“赏学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注赏学吧 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反赏学吧购买须知被冻结。您可在“赏学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注赏学吧 -
请用微信扫码测试
温馨提示
每个试题只能免费做一次,如需多次做题,请购买搜题卡
立即购买
稍后再说
赏学吧