扑克牌问题(C语言)小明刚学会一个魔术:有13张扑克牌,A,1,2,3,4,5,6,7,8,9,10,J,Q,K扑克牌先按他预先设计的方法排序,只见他从下边拿出一张放到最上面,又从最下边拿出一张放到桌上是A,然后又
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/27 06:07:22
扑克牌问题(C语言)小明刚学会一个魔术:有13张扑克牌,A,1,2,3,4,5,6,7,8,9,10,J,Q,K扑克牌先按他预先设计的方法排序,只见他从下边拿出一张放到最上面,又从最下边拿出一张放到桌上是A,然后又
扑克牌问题(C语言)
小明刚学会一个魔术:有13张扑克牌,A,1,2,3,4,5,6,7,8,9,10,J,Q,K
扑克牌先按他预先设计的方法排序,只见他从下边拿出一张放到最上面,又从最下边拿出一张放到桌上是A,然后又从下边拿出一张放到最上面,又从最下边拿出一张放到桌上是2 ……依此类推,直到手里只有一张牌,翻开放到桌上正好为K.
求一开始小明手中扑克牌的顺序.要C语言程序哦!
扑克牌问题(C语言)小明刚学会一个魔术:有13张扑克牌,A,1,2,3,4,5,6,7,8,9,10,J,Q,K扑克牌先按他预先设计的方法排序,只见他从下边拿出一张放到最上面,又从最下边拿出一张放到桌上是A,然后又
(由此可见出牌顺序为A---K)
(1)先建立一个数组 int str1[13] //用途是每张牌出来的原来位置倒序的.
(2)建立一个数组 char str_card[13];保存倒序扑克牌位置
(2)建立一个单链表内容是int data 从头倒尾值为1---13,头结点不算,*next指向下一个节点,最后一个指向NULL;(
(3)(i_str用于数组的计数器,i_card_order=0(链表标志符,0就A,1就B(AB就是下面的步骤)),还要一个专门指向尾节点的指针,末尾接移位节点的时候用)
(4)operate:A:把第一个带值的节点移位到最后 i_card_order=1.
B:下一个节点成为了第一个节点,把data保存到str1[i_str];i_str++;
i_card_order=0.
删除当前节点.
(5)重复3,4步,最后把A----K,与0---12对于(两数组),结果就出来了.