首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下函数说明和C代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(Strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其他方
阅读以下函数说明和C代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(Strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其他方
admin
2014-10-11
36
问题
阅读以下函数说明和C代码,将应填入(n)处的字句写在答题纸对应栏内。
【说明】
任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(Strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其他方法来解决同样问题。以下是一个“剪刀石头布”游戏。猜拳时的“策略”有2种方法:第一种是“猜赢后继续出同样的招式”(WinningStrategy),第二种是“从上一次出的招式种,以概率分配方式求出下一个招式的几率”(ProbStrategy)。程序中定义了Hand类表示猜拳时的“手势”,类内部以0(石头)、1(剪刀)、2(布)来表示。Hand类的实例只会产生3个。以下是C语言实现,省略了不相关属性及方法,方法实现体亦有所省略,能够正确编译通过。
【C代码】
typedef(1) (*funl)();
enum HandValue{HANDVALUE_GUU=0,HANDVALUE CHO=1,HANDVALUE_PAA=2);
//手势可取值,依次为“石头”、“剪刀”、“布”
//其大小顺序是循环相克的,即:石头赢剪刀,剪刀赢布,布赢石头
bool won;
struct Hand ★WSpreVHand;
struct Hand{//手势
enum HandValue handvalue:
)hand[3]={HANDVALUE_GUU,HANDVALUE_CHO,HANDVALUE_PAA);
int fight(struct Hand*h1,Struct Hand*h2)
//比较h1和h2。h1代表的手势较大时返回1,h1较小时返回一1,相等时返回0
//
{
if(h1一>handvalue==h2一>handvalue){
return 0;
)else if((h1一>handvalue+1)% (2)==h2一>handvalue)(
return1;
}e1Se{
return一1;
}
}
Struct Hand*getHand(int handvalue)(
//依据手势代表的值取得手势,若handvalue不合法,返回NULL
switch(handvalue){
Case 0:
return&hand[0];
break;
case 1:
return&hand[1];
break;
case 2:
return&hand[2];
break;
}
return (3) ;
}
struct Strategy(//策略
funl nextHand;//下一个手势
};
Struct Hand*WSnextHand()
{
if(!won){
PSprevHand=getHand(rand()%3);
}
return PSprevHand;
}
struct player{
char name[2 0];
(4) strategy;//策略
int wincount;
int losecount;
int gamecount;
};
void main()
{
Strategy WS;
WS.nextHand=WSnextHand:
WSprevHand=NULL;
struct player WSplayer;
(5) (WSplayer.name, ”ww”);
WSplayer.wincount = 0;
WSplayer.losecount = 0;
WSplayer.gamecount = 0;
WSplayer.strategy = &WS;
}
选项
答案
(1)structHand* (2)3 (3)NULL (4)structStrategy* (5)strcpy
解析
先看空(2)。条件(hl一>handvalue+1)%(2)==h2一>handvalue是指h1大于h2,根据手势间大小顺序:石头(O)赢剪刀(1),剪刀(1)赢布(2),布(2)赢石头(0)。可得应填3。例如hl为布(2),h2为石头(O)时,hl一>handvalue+1)%(2)的值应为0。所以空(2)填3。handvalue取值为:0、1、2,由注释“若handbalue不合法,返回NULL”可得空(3)应填NULL。先看空(5)。结构体WSplayer的strategy字符数组,对字符数组的赋值需调strcpy库函数。故空(5)应填strcpy。来看空(4)。由语句“WSplayer.strategy=&wS;”及“StrategyWS;”可知,结构体WSplayer的strategy应该是Strategy结构体指针。故空(4)应填structStrategy*。最后来看空(1)。这明显是一个函数指针,函数指针的定义:函数返回类型函数指针变量名(参数列表)。故空(1)是该函数的函数返回类型。用到该定义的是在结构体Strategy,“funlnextHand;//下一个手势”,此处只是一个声明,不能判断其返回类型,真正应用的是语句“WS.nextHand=WSnextHand;”,而其右端的函数原型为structHand*WSnextHand(),因此该函数指针的返回类型应为structHand*。故空(1)应填structHand*。
转载请注明原文地址:https://jikaoti.com/ti/kRi7FFFM
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
某计算机的主存储器以字节为单位进行编址,其主存储器的容量为1TB,也就是______。
通常VLAN有静态和动态2种实现方式,这2种方式分别是如何实现的?各有什么特点?Switch1采用的是哪种实现方式?填充VLAN信息表如表9-3所示,将答案填写在答题纸相应位置。
目前,通过移动电话接人互联网采用的主要技术是什么?公司网络中的设备或系统(包括存储商业机密的数据库服务器、邮件服务器、存储资源代码的PC机、应用网关、存储私人信息的PC机、电子商务系统)哪些应放在DMZ中,哪些应放在内网中?给予简要说明。
目前,通过移动电话接人互联网采用的主要技术是什么?进行一次查询的数据信息如表9-1所示,网络的基本通信服务费用如表9-2所示,总费用=网络租用费+通信费。根据表中给出的数据,试计算销售员每月至少应进行多少次查询,才能使得使用移动电话的总费用比使用PDA
限制MailUser邮件主机里每个用户的邮箱大小不超过10MB,如何配置?IMail安装完成后,系统自动建立了一个名为root的用户,在默认情况下root用户是个失效的账号,如何设置使其生效?
阅读以下说明,回答问题1~5。[说明]SSL(SecureSocketLayer)是目前解决传输层安全问题的一个主要协议,其设计的初衷是基于TCP协议之上提供可靠的端到端安全服务,SSL的实施对于上层的应用程序是透明的。应用SSL协议最广泛
阅读以下说明,回答问题1~6。[说明]某公司已有一个100用户的有线局域网。由于业务的发展,现有的网络不能满足需求,需要增加40个用户的网络连接,并在公司客户接待室连接网络以满足合作伙伴实时咨询的需求。现结合公司的实际情况组建无线局域网,具体拓扑
阅读以下说明,回答问题1至问题5。[说明]某企业采用Windows2000操作系统部署企业虚拟专用网(VPN),将企业的两个异地网络通过公共Internet安全地互联起来。微软Windows2000操作系统当中对IPSec具备完善的支持,下图
根据图3-1所给出的网络连接方式及相关的网络参数,区域(A)与区域(B)中计算机的网络参数配置(如图3-2所示)为:区域(A)计算机“IP地址”(范围):(1):区域(A)计算机“子网掩码”;(2);区域(A)计算机“默认网关”:(
对一个大型校园网工程进行网络备份系统设计时,应考虑解决哪些主要的问题?请用150字以内的文字简要说明。某商务公司在全国各城市共有15个分支机构,这些机构已经建设了基于大型关系数据库的信息管理系统,每天负责独立地处理本区域内的业务并实时存储业务数据。每个
随机试题
某小孩,男性,2岁半,运用爱瑞克森心理社会发展理论分析其处于
可确诊疑是结核性腹膜炎的检查为
企业对于已记入“待处理财产损溢”科目的存货盘亏及毁损事项进行会计处理时,应计人管理费用的是()。
下列各项中,关于企业现金溢余的会计处理表述正确的有()。
现代生物技术是以()的建立为标志的。
教师要承担人类灵魂工程师角色应该重点履行的职责有()。
组织文化建设的主要内容有()。
一件可能使人感到吃惊的事实是,目前不但世界粮食产量的增长速度超过了人口的增长速度,而且同世界上人均收人的增长速度相比,粮食增长速度也是较快的,甚至其他商品价格的增长速度也比不上粮食的增长速度。尽管如此,今天在全世界仍有很多人口得不到充足的粮食。据估计,由于
给定资料(一)2013年5月31日下午在A市杨家岭附近,A市城管队员在执法过程中与商户发生撕扯现象。据当时在店内的一名店员描述,事发当日他们店总共被暂扣5辆自行车,但他们老板在跟城管人员交涉的过程中被打倒在地,倒地后竟然有一名很胖的城管队员,双脚跳起
西周时期把买卖兵器、珍异等小件物品所使用的较短的契券称为()。
最新回复
(
0
)