首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下函数说明和C代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(Strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其他方
阅读以下函数说明和C代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(Strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其他方
admin
2014-10-11
65
问题
阅读以下函数说明和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://kaotiyun.com/show/I4DZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
以下关于CPU与I/O设备交换数据所用控制方式的叙述中,正确的是_______。
[Java源程序:一个简单的Web服务器]/************************************************************//*WebServer.java*//******
通常VLAN有静态和动态2种实现方式,这2种方式分别是如何实现的?各有什么特点?Switch1采用的是哪种实现方式?在VLAN中,STP和VTP是什么协议?各有什么作用?
限制MailUser邮件主机里每个用户的邮箱大小不超过10MB,如何配置?如何暂时禁用某个用户账号?
同一个VLAN中的成员可以形成一个广播域,从而实现何种功能?若交换机Switch1和SwiWh2没有千兆端口,在上图10中能否实现VLANTrunk的功能?若能,如何实现?
目前无线局域网主要有哪两大标准体系?简述各自特点。图1-2中“EncryptionLevel”选项用以配置WEP。WEP采用的加密技术是什么?“值”备选项中应包含两种长度为多少的密钥?
根据图3-1所给出的网络连接方式及相关的网络参数,区域(A)与区域(B)中计算机的网络参数配置(如图3-2所示)为:区域(A)计算机“IP地址”(范围):(1):区域(A)计算机“子网掩码”;(2);区域(A)计算机“默认网关”:(
启动init进程前,不需要经过______步骤。A.LIIO加载内核B.检测内存C.加载文件系统D.启动网络支持根据说明中inittab文件的内容,系统引导成功后,工作在______状态。A.单用户字符模式
具有综合业务传输能力的HFC网络由视频前端(FE)、主数字终端(HDT)、光纤节点(FN)、网络接口单元(NIU)、综合业务单元(ISU)及传输线路等构成。根据HFC网接入Internet的典型配置,将图8-11所示的拓扑图中(1)~(5)空缺处名称填写
阅读以下说明,回答问题1、问题2和问题3,将解答填入对应栏内。[说明]在因特网的发展过程中,WWW(WorldWideWeb)和域名服务系统(DNS)两项技术起了重大的推动作用,在域名服务系统(DNS)出现之前,所有的因特网主机名都存储
随机试题
下列摘自历史专题片中的解说词,内容与史实不相符的是:
患者,男,63岁,心力衰竭,自诉稍事活动即出现呼吸困难、乏力、心悸等症状,该老人的活动原则是()
甲、乙为夫妻,长期感情不和。2010年5月1日甲乘火车去外地出差,在火车上失踪,没有发现其被害尸体,也没有发现其在何处下车。2016年6月5日法院依照法定程序宣告甲死亡。之后,乙向法院起诉要求铁路公司对甲的死亡进行赔偿。关于甲被宣告死亡,下列哪些说法是正确
没有了法,当代社会的文明是不可想象的,法与社会的各个方面都有关系,下列有关法的认识哪些是错误的?()
银行需要考察企业偿债能力时,需要企业前()年的财务报表。
甲公司5月末“应收账款”总账余额为8000元(借方),其中(应收账款——甲厂)余额为10000元(借方),应收账款——乙方,余额为2000元(贷方)。该公司没有设置“预收账款”账户。则该公司本月末资产负债表中应收账款余额项目的期末数为( )。
A公司是国内重型汽车行业的骨干企业,属于国家大型企业。公司始建于1968年,经过将近40年的发展,目前具有完整的产品设计、生产制造、检测调试和监测系统,产品覆盖军用越野车、重型载货车、客车专用地盘和高档客车三大类、15个系列、150多个品种。一、A公
2016年10月24─27日,中国共产党第十八届中央委员会第六次全体会议在北京举行,全会审议通过了()。
设向量组Ⅰ:α1,α2,…,αr可由向量组Ⅱ:β1,β2,…,βs线性表示,则().
MakingReading,WritingandRecessionWorkTogetherA)Withbookstuckedneatlyontheshelvesandacomfypurple-dragonrugina
最新回复
(
0
)