C语言:面试题-一副牌从A到K共13张,取牌的顺序是这样的:A、将第一张放到最下面。B、取出最上面的一张牌。。。。
代码如下:
/**************************************************************************
*功能:求解下面问题
*一副牌从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、取出最上面的一张牌。。。。相关推荐
- 华为C语言面试题集 C语言面试题-华为C语言面试题 深圳华为面试
C语言面试题 1.局部变量能否和全局变量重名? 答:能,局部会屏蔽全局.要用全局变量,需要使用"::" 局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量, ...
- 16道嵌入式C语言面试题(经典) 预处理器(Preprocessor)
16道嵌入式C语言面试题(经典) 预处理器(Preprocessor) 1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_ ...
- 一些软件测试与C语言面试题
题与答案尽供参考 一.判断题 1.软件测试的目的是尽可能多的找出软件的缺陷.(Y) 2.Beta 测试是验收测试的一种.(Y) 3.验收测试是由最终用户来实施的.(N) 4.项目立项前测试人员不需要提 ...
- 搬砖:100道c语言面试题
100道c语言面试题 2018年01月12日 18:52:35 cocos+unity+服务器 阅读数:9166 https://blog.csdn.net/themagickeyjianan/art ...
- 华为js面试题_华为C语言面试题最优思路及答案分享
原标题:华为C语言面试题最优思路及答案分享 华为校招15道C语言面试题分享 用预处理指令#define 声明一个常数, 用以表明1年中有多少秒 (忽略闰年问题) 一 题 #defineSECONDS_ ...
- 16道嵌入式C语言面试题
> 预处理器(Preprocessor) 1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 ...
- 16道嵌入式C语言面试题(转载)
转自:http://blog.chinaunix.net/uid-26495963-id-3165021.html 预处理器(Preprocessor) 1 . 用预处理指令#define 声明一个常 ...
- 嵌入式-C语言面试题【转】
1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件 ...
- C语言笔试题(嵌入式软件开发)
1.一个由C/C++编译的程序占用的内存分为栈区.堆区.全局区.文字常量区.程序代码区存放什么数据? 栈区:一开始编译器就分配好的,函数的局部变量,参数,返回数据. 堆区:由程序员自己进行分配的 全局 ...
最新文章
- luogu P3410 拍照(最大权闭合图转最小割)
- 机器运算知识点计算机组成原理,计算机组成原理考研知识点非常全
- CTF(pwn)堆利用 之 off by one
- 西数举债千亿收购闪迪 到底图了个啥?
- python代码检查工具_基于Python3的漏洞检测工具 ( Python3 插件式框架 )
- Pytorch损失函数losses简介
- 链表(Linked List)之单链表
- 深度思考 Spring Cloud + Alibaba Sentinel 源码原理
- px4 uavcan linux,PX4开发指南-12.2.2.UAVCAN固件升级
- 初识推荐算法---算法背景、算法概念介绍、推荐信息选取、常用推荐算法简介
- centos 安装mysql_Centos 下mysql数据库完整安装过程
- php 循环获取分类,PHP 循环删除无限分类子节点
- C++中指针优点与线程中指针变量访问
- AD18绘制AHT20原理图及PCB电路设计
- 干货:react新手入门之react小书
- Android平台介绍
- 第26课时,实践4,定期存款利息计算器
- linux下hg命令
- Vue+Echarts地图消失(高度变成0)的完美解决方案
- 工程学导论的学习感悟