java计算机猜测用户暗记的某张扑克牌
编程序,让计算机来猜测用户“暗记”的某张扑克牌:计算机从一副扑克牌(54张)中任意抽出27张,摆放在不同的三行上(每行9张),用户“暗记”某张纸牌,而后告诉计算机所“暗记”的那张纸牌处于哪一行中;之后计算机再两次将纸牌重新摆放,并让用户再回答两次相同的提问(那张纸牌在重新摆放后又处在哪一行上);此时计算机会将用户所“暗记”的那张纸牌给挑出来。
例如,程序执行后的屏幕显示结果可设计为(其中的前缀a、b、c、d代表四种不同的花色):
-------------------------------------------------------------
Line 1: c-9 d-3 a-7 d-9 a-9 c-3 b-8 a-A d-7
Line 2: b-10 a-Q d-6 b-4 a-3 b-9 b-K c-A d-8
Line 3: KING2 d-A b-A a-4 a-2 b-7 d-5 c-7 a-8
-------------------------------------------------------------
Remember a card, and tell me what line it reside in(123): 3
-------------------------------------------------------------
Line 1: c-9 d-3 a-7 b-10 a-Q d-6 KING2 d-A b-A
Line 2: d-9 a-9 c-3 b-4 a-3 b-9 a-4 a-2 b-7
Line 3: b-8 a-A d-7 b-K c-A d-8 d-5 c-7 a-8
-------------------------------------------------------------
What line the card you remembered reside in now (123) : 1
-------------------------------------------------------------
Line 1: c-9 b-10 KING2 d-9 b-4 a-4 b-8 b-K d-5
Line 2: d-3 a-Q d-A a-9 a-3 a-2 a-A c-A c-7
Line 3: a-7 d-6 b-A c-3 b-9 b-7 d-7 d-8 a-8
-------------------------------------------------------------
What line the card you remembered reside in now (123) : 1
-------------------------------------------------------------
Your remembered card is : KING2
提示:原文请找腾讯752018766优,文-论'文.网http://www.youerw.com
1)要从一副54张的扑克牌中任意抽出27张,可通过“rand()%54”所产生的随机值来确定。但注意,一旦随机抽走哪张,下次牌中就没有这张了。
2)程序总按照一种策略将三行纸牌重新“摆放”,而后进一步让用户进行指定。上述所谓的策略指的是,总将纸牌“一分为三”:第一次要将每一行的9张分散到不同的3行上(每行仅“剩”3张),而第二次则要将上次“确定”出的某3张进一步分散到不同的3行上(每行只“剩”1张。此时靠用户再指定一次行号则可唯一确定所“暗记”的那张纸牌)。
12. 编制具有如下原型的函数prime,用来判断整数n是否为素数:bool prime(int n); 而后编制主函数,任意输入一个大于4的偶数d,找出满足d=d1+d2的所有数对,其中要求d1与d2均为素数(通过调用prime来判断素数)。如偶数18可以分解为11+7以及13+5;而偶数80可以分解为:43+37、61+19、67+13、73+7。
提示:i与d-i的和恰为偶数d,而且只有当i与d-i均为奇数时才有可能成为所求的“数对”。
13.2概要设计:
本程设计思路: 用几个数组来实现记忆的功能,将全部牌组从0到54分别对应一张牌。再用几个数组分别记录下每次选择的那一行的对应的牌,最后将三次选的牌进行分析就可以得到暗记的那张牌了。
程序流程图(如左图):
13.3 详细设计与编码:
见上传程序。
13.4 调试分析:
开始的时候对这题是一点思路都没有,是看了同学的程序才有点感觉的。不过虽然想到要怎么实现,但是在展示牌的时候还是受到了不小的阻力。
程序执行的结果:
13.5 用户使用说明:
选择暗记的牌,然后每次从新排放牌后选择该牌所在的位置,三次后有计算机输出所暗记的牌。
13.6 设计心得:
这个实验用到了很多的数组来实现记忆的功能,如果没有注意的话,一不小心就会出现乌龙事件。我就是有次弄错了数组,调试了老久才发现的。需要细心。1837