代码如下:

/**************************************************************************
*功能:求解下面问题
*一副牌从A到K共13张,取牌的顺序是这样的
*   A、将第一张放到最下面。
*   B、取出最上面的一张牌。
*依次顺序操作A、B,最后取出牌的顺序是从A到K,请用程序实现13张牌的最初顺序。
*思路:从后面的结果倒推,得到答案
*作者:lml   时间:2020年4月15日20:31:08
***************************************************************************/#include <stdio.h>
#include <string.h>int do_poker(char *inbuf)
{char tbuf[20]="";char a;int i=0,j=0,k=0;while(*(inbuf+i) != '\0'){//从后面倒着走,把牌逐张拿回来//这里我们实际放牌是往上放,但是数组是挨个往后放//所以最后的顺序需要整体翻转一下tbuf[i]=*(inbuf+i);   //把最后一张牌发到最上面的位置while(tbuf[j] != '\0') {j++;}tbuf[j]=tbuf[0];tbuf[j+1]='\0';for(k=0;k<strlen(tbuf);k++){tbuf[k]=tbuf[k+1];}i++;}//最后把顺序翻转一下j=strlen(tbuf)-1;k=0;while(j != k){a=tbuf[j];tbuf[j]=tbuf[k];tbuf[k]=a;j--;k++;}printf("poker:%s\n",tbuf);return 0;
}
int main(int argc, const char *argv[])
{char buf[20]={"A23456789BJQK"};//B表示10do_poker(buf);return 0;
}

结束。

C语言:面试题-一副牌从A到K共13张,取牌的顺序是这样的:A、将第一张放到最下面。B、取出最上面的一张牌。。。。相关推荐

  1. 华为C语言面试题集 C语言面试题-华为C语言面试题 深圳华为面试

    C语言面试题  1.局部变量能否和全局变量重名? 答:能,局部会屏蔽全局.要用全局变量,需要使用"::" 局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量, ...

  2. 16道嵌入式C语言面试题(经典) 预处理器(Preprocessor)

    16道嵌入式C语言面试题(经典) 预处理器(Preprocessor) 1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_ ...

  3. 一些软件测试与C语言面试题

    题与答案尽供参考 一.判断题 1.软件测试的目的是尽可能多的找出软件的缺陷.(Y) 2.Beta 测试是验收测试的一种.(Y) 3.验收测试是由最终用户来实施的.(N) 4.项目立项前测试人员不需要提 ...

  4. 搬砖:100道c语言面试题

    100道c语言面试题 2018年01月12日 18:52:35 cocos+unity+服务器 阅读数:9166 https://blog.csdn.net/themagickeyjianan/art ...

  5. 华为js面试题_华为C语言面试题最优思路及答案分享

    原标题:华为C语言面试题最优思路及答案分享 华为校招15道C语言面试题分享 用预处理指令#define 声明一个常数, 用以表明1年中有多少秒 (忽略闰年问题) 一 题 #defineSECONDS_ ...

  6. 16道嵌入式C语言面试题

    > 预处理器(Preprocessor) 1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)     #define SECONDS_PER_YEAR (60 ...

  7. 16道嵌入式C语言面试题(转载)

    转自:http://blog.chinaunix.net/uid-26495963-id-3165021.html 预处理器(Preprocessor) 1 . 用预处理指令#define 声明一个常 ...

  8. 嵌入式-C语言面试题【转】

    1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件 ...

  9. C语言笔试题(嵌入式软件开发)

    1.一个由C/C++编译的程序占用的内存分为栈区.堆区.全局区.文字常量区.程序代码区存放什么数据? 栈区:一开始编译器就分配好的,函数的局部变量,参数,返回数据. 堆区:由程序员自己进行分配的 全局 ...

最新文章

  1. luogu P3410 拍照(最大权闭合图转最小割)
  2. 机器运算知识点计算机组成原理,计算机组成原理考研知识点非常全
  3. CTF(pwn)堆利用 之 off by one
  4. 西数举债千亿收购闪迪 到底图了个啥?
  5. python代码检查工具_基于Python3的漏洞检测工具 ( Python3 插件式框架 )
  6. Pytorch损失函数losses简介
  7. 链表(Linked List)之单链表
  8. 深度思考 Spring Cloud + Alibaba Sentinel 源码原理
  9. px4 uavcan linux,PX4开发指南-12.2.2.UAVCAN固件升级
  10. 初识推荐算法---算法背景、算法概念介绍、推荐信息选取、常用推荐算法简介
  11. centos 安装mysql_Centos 下mysql数据库完整安装过程
  12. php 循环获取分类,PHP 循环删除无限分类子节点
  13. C++中指针优点与线程中指针变量访问
  14. AD18绘制AHT20原理图及PCB电路设计
  15. 干货:react新手入门之react小书
  16. Android平台介绍
  17. 第26课时,实践4,定期存款利息计算器
  18. linux下hg命令
  19. Vue+Echarts地图消失(高度变成0)的完美解决方案
  20. 工程学导论的学习感悟

热门文章

  1. 大神的ACM训练计划(详细)
  2. 程序设计语言基本概念
  3. 【Linux驱动开发】016 自旋锁
  4. Spring项目log4j配置
  5. php文件保存读取,读取保存在文件中的php数组?
  6. PostMapping和GetMapping
  7. GetMapping无法解析
  8. 猜数游戏c语言程序流程图,C语言猜数游戏代码
  9. SortedMap 接口源码分析
  10. html文件路径_HTML文件路径