求13张扑克牌原顺序(1-13扑克牌排序)

题目:有一个游戏,取一个花色的所有13张扑克牌,成为一摞,按照如下的规则取牌:

(1)将最上面一张牌放到这一摞牌的最下面

(2)然后将最上面的一张牌取出

以后不断重复1,2的动作,直到所有的扑克牌取完为止。

问题:如果要使得取出扑克牌的顺序为从小到大,即顺序为:A、2、3、4、5、6、7、8、

9、10、J、Q、K,请使用C/C++编程求出最初扑克牌的顺序应该是什么。

cpp 复制代码
#include <stdio.h>
int i=0;
void fang_1(int *,int *,int *);
void qu_2(int *,int *,int *);
void fang_1(int *p,int *q,int *t) 
{
    for(int j=13;j>0;j--)
    {   
        q[j]=q[j-1];           
    }   
    t++;
    *q=*t;
    for(int j=13;j>0;j--)
    {   
        q[j]=q[j-1];           
    }   
    qu_2(p,q,t);
}
void qu_2(int *p, int *q,int *t) 
{
    i++;
    if(i<14)
    {   
        *q=*p;
        p--;
        fang_1(p,q,t);
    }   
}
int main()
{
    int a[13]={1,2,3,4,5,6,7,8,9,10,11,12,13};
    int b[14]={0};
    qu_2(&a[12],&b[0],&b[0]);
    for(int j=1;j<14;j++)
    {   
        printf("%d ",b[j]);
    }   
    printf("\n");
} 
相关推荐
夜思红尘6 小时前
算法--双指针
python·算法·剪枝
散峰而望6 小时前
【算法竞赛】C++函数详解:从定义、调用到高级用法
c语言·开发语言·数据结构·c++·算法·github
冷凝雨6 小时前
复数乘法(C & Simulink)
c语言·开发语言·信号处理·simulink·dsp
CoderCodingNo6 小时前
【GESP】C++五级真题(贪心思想考点) luogu-B4071 [GESP202412 五级] 武器强化
开发语言·c++·算法
我有一些感想……6 小时前
An abstract way to solve Luogu P1001
c++·算法·ai·洛谷·mlp
前端小L6 小时前
双指针专题(三):去重的艺术——「三数之和」
javascript·算法·双指针与滑动窗口
智者知已应修善业8 小时前
【求等差数列个数/无序获取最大最小次大次小】2024-3-8
c语言·c++·经验分享·笔记·算法
LYFlied8 小时前
【每日算法】LeetCode 416. 分割等和子集(动态规划)
数据结构·算法·leetcode·职场和发展·动态规划
多米Domi0118 小时前
0x3f 第19天 javase黑马81-87 ,三更1-23 hot100子串
python·算法·leetcode·散列表
历程里程碑9 小时前
滑动窗口最大值:单调队列高效解法
数据结构·算法·leetcode