[说明] 任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法

题型:问答题

问题:

[说明]
任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(Strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其他方法来解决同样问题。
以下是一个“剪刀石头布”游戏。猜拳时的“策略”有2种方法:第一种是“猜赢后继续出同样的招式”(WinningStrategy),第二种是“从上一次出的招式种,以概率分配方式求出下一个招式的几率”(ProbStrategy)。程序中定义了Hand类表示猜拳时的“手势”,类内部以0(石头)、1(剪刀)、2(布)来表示。Hand类的实例只会产生3个。
以下是C语言实现,省略了不相关属性及方法,方法实现体亦有所省略,能够正确编译通过。
[C代码]
typedef (1) (*funl)();
enum HandValueHANDVALUE_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)
return 1;
else
return -1;


struct Hand* getHand(int handvalue)
//依据手势代表的值取得手势,若handvalue不合法,返回NULL
switch(handvalue)
case 0:
return &hand[0];
break;
case 1:
return &hand[1];
bteak;
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[20];
(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;

考点:计算机软件水平考试中级软件设计师中级软件设计师下午试题
题型:问答题

面临激烈的市场竞争,某寿险公司在个人寿险、团体保险领域仍实现了强劲增长。该公司总经理在总结经验时指出“这要归功于我们员工的共同努力。寿险业是一个需要真正‘以人为本’的行业,产品销售主要靠公司员工、代理人与客户面对面的交流”。依据上述谈话,可以推断该公司的工作重点是()。

A.提高保险资金的投资收益

B.强化员工参与式管理

C.提高经理的薪酬

D.提高广告费支出

题型:问答题

班氏丝虫多寄生在人体的()

A.血液和淋巴系统

B.四肢浅表的淋巴系统

C.深部淋巴系统

D.肺部毛细血管

E.四肢表浅及深部的淋巴系统

题型:问答题

AD工的确定是依照

A.动物的最大无作用剂量
B.在人体实际测得
C.最小有毒作用剂量
D.最小致死量
E.引起肿瘤的最小剂量

题型:问答题

某股份有限公司采用自营方式建造固定资产,在筹建期间由于正常原因造成单位工程毁损,工程毁损损失减去残料价值和过失人或保险公司等赔款后的净损失,应当( )。

A.计入待摊费用

B.计人营业外支出

C.计入长期待摊费用

D.计入继续施工的工程成本

题型:问答题

如来不及进行全坝面加高,可采用加高()等方法。

A.围堰

B.一半

C.一侧

D.子堰

更多题库