看到一个扑克牌魔术的题目,觉得挺有意思。
题目网址:http://zhidao.baidu.com/question/407505626.html
这个题目已经有了答案。
但是答案的程序,看起来有些费劲,自己编了编,觉得还不错,于是就写在下面吧。
/*
小明刚学会一个魔术:有 13 张扑克牌,A,2,3,4,5,6,7,8,9,10,J,Q,K;
他先把扑克牌按他预先设计的方法排序;
只见他从下边拿出一张放到最上面,又从最下边拿出一张放到桌上是A;
然后又从下边拿出一张放到最上面,又从最下边拿出一张放到桌上是2;
……
依此类推,直到手里只有一张牌,翻开放到桌上正好为K。
求一开始小明手中扑克牌的顺序,要求用C语言编程。
*/
//其实,编写这个小程序,用不着链表,也不用熟悉游戏的过程,
//只要把顺序放在桌子上的扑克牌,按照前面所说的次序,反着次序收到手上即可。
//程序如下:
#include void main()
{
int on_t[13] = {13,12,11,10,9,8,7,6,5,4,3,2,1};//在桌上先摆好扑克牌.
int in_h[13] = {0}; //手上有十三张“空的”扑克