首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下函数说明和C代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(Strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其他方
阅读以下函数说明和C代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(Strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其他方
admin
2014-10-11
104
问题
阅读以下函数说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
设X、Y、Z为逻辑变量,当且仅当X和Y同时为1时,Z为0,其他情况下Z为1,则对应的逻辑表达式为________。
CPU执行指令时,先要根据程序计数器将指令从内存读取出并送入______,然后译码并执行。
[Java源程序:一个简单的Web服务器]/************************************************************//*WebServer.java*//******
限制MailUser邮件主机里每个用户的邮箱大小不超过10MB,如何配置?IMail安装完成后,系统自动建立了一个名为root的用户,在默认情况下root用户是个失效的账号,如何设置使其生效?
同一个VLAN中的成员可以形成一个广播域,从而实现何种功能?使Switch1的千兆端口允许所有VLAN通过的配置命令如下,请给出空白处的配置内容:Switchl(config)#interfacegigabit0/1(进入千兆端口配置模式)
SSL协议使用(1)密钥体制进行密钥协商。在IIS5.0中,Web服务器管理员必须首先安装Web站点数字证书,然后Web服务器才能支持SSL会话,数字证书的格式遵循ITU-T(2)标准。通常情况下,数字证书需要由(3)颁发。如果Web服务器管理员希望W
阅读以下说明,回答问题1~5。[说明]SSL(SecureSocketLayer)是目前解决传输层安全问题的一个主要协议,其设计的初衷是基于TCP协议之上提供可靠的端到端安全服务,SSL的实施对于上层的应用程序是透明的。应用SSL协议最广泛
双绞线可以制作成直连线和交叉线两种形式。在上图中,两个交换机的UPLINK口相连,使用的双绞线制作成什么形式?连接交换机和计算机的双绞线制作成什么形式?阅读下面的配置信息,将(1)~(4)处空缺的内容填写在相应位置。SW1>enable
请认真阅读下列有关计算机网络防火墙的说明信息,回答问题1~5。[说明]某单位的内部局域网通过防火墙与外部网络的连接方式及相关的网络参数如下图所示。
阅读以下说明,回答问题1至问题5。[说明]某企业采用Windows2000操作系统部署企业虚拟专用网(VPN),将企业的两个异地网络通过公共Internet安全地互联起来。微软Windows2000操作系统当中对IPSec具备完善的支持,下图
随机试题
女,70岁。蛋白尿一个月,尿蛋白定量6g/L,蛋白电泳显示以小分子蛋白为主,呈单克隆分布。其蛋白尿的性质应为()
下列关于水头梯度的说法,哪个正确?()
设备工程投资控制的主体是()。
某桥梁工地的简支板梁架设,由专业架梁分包队伍架设。该分包队伍用两台50t履带吊,以双机抬的吊装方式架设板梁。在架设某跨板梁时,突然一台履带吊倾斜,板梁砸向另一台履带吊驾驶室,将一名吊车驾驶员当场砸死,另有一人受重伤。事故发生后,项目经理立即组织人员抢救伤员
在某纺织职业技术学校新区建设中,总承包商的项目经理在开工前组织有关人员对项目结构进行了逐层分解。这项工作所采用的组织工具应是()。
重力式码头预制沉箱采取远程拖带时,宜采取()措施。
北方某黄金饰品销售公司一直主要从南方沿海城市的生产厂家组织货源,经过10年的发展,公司年销售额近2亿元人民币。该公司今年收购了一家黄金饰品生产企业,这种一体化类型属于()。
我国《民用航空法》规定,国内航空运输发生重大航空事故时,一般情况下按照()进行赔偿。
下列说法错误的是()。
TheEuropeanCentralBankleftitsmaininterestrateunchangedWednesday,choosingtoputtheonusonpoliticalleaderstoaddr
最新回复
(
0
)