h3c笔试题
来源:互联网 发布:中国历年gdp数据图表 编辑:程序博客网 时间:2024/05/17 22:57
一打A-K扑克牌,重复如下操作:
(1)将第一张放到最下面
(2)将第一张牌拿出,并展示。
问:如何排列此堆扑克牌,使扑克牌依次按A到K的顺序展示出来?
以下是54张时,输出按红方黑梅A-K的顺序展示的排列结果。
#include <stdio.h>#include <stdlib.h>#define N 54void print(int a[]);int main(int argc, char *argv[]){ int a[N];//存储数据 int num=0; int flag=1;//间隔的写入 int i; for(i=0;i<N;i++)a[i]=-1; while(1) { for(i=0;i<N;i++)//for循环为核心代码 { if(-1==a[i])//如果该位置未写入数据 if(1==flag)//无间隔 flag=0; else{ a[i]=num;//写入 flag=1;//设置间隔 num++;//要写入的值增加 } } if(N==num)break;//所有的值已写完 } /* for(i=0;i<N;i++) { printf("%-5d ", a[i]); if(i%13==12)printf("\n"); }*/ print(a); system("PAUSE"); return 0;}void print(int a[]){ int i; int num; for(i=0;i<N;i++) { num=a[i]/13; switch(num) { case 0: printf("红%-2d ", (a[i]%13 + 1));//左对齐输出,数字站2字符,剩余的一个分隔 break; case 1: printf("方%-2d ", (a[i]%13 + 1)); break; case 2: printf("黑%-2d ", (a[i]%13 + 1)); break; case 3: printf("梅%-2d ", (a[i]%13 + 1)); break; case 4: if(a[i]%13)printf("%-5s", "大王");//上面一共是5个字符 else printf("%-5s", "小王"); break; default: printf("系统错误"); return; } if(i%13==12)printf("\n"); } }因为我是一个性子比较慢的人,时间一个小时,压根就没有读到此题,后来面试时,面试官问我,我说没时间,他就让我现场给写一下,当时一紧张,思路全乱套了,说的一塌糊涂。所以就挂掉了,故在此将其列出,以供后来勤奋的、有缘看到的同学有所准备,或者共同学习。如果有更好的想法,可以共同探讨。。。
- h3c笔试题
- 参加H3C笔试
- H3C笔试+面试
- H3C笔试题:C语言旋转双向链表
- 7进制字符串转为10进制的int类型数字(H3C笔试题)
- 生成指定个数的随机码,同时包含大小写字母和数字【H3C笔试题】
- h3c
- h3c
- h3c
- 【2013校招 H3C笔试】sscanf的用法
- cisco H3C
- H3C命令
- 学习-H3C
- H3C常见问题
- H3C-QoS
- 笔试题
- 笔试题
- 笔试题
- 提高程序运行效率的方法
- jstl c标签的使用
- first
- linux权限
- 导入Android工程报错
- h3c笔试题
- Hadoop之hive学习
- Windows8和CentOS6.4(64)双系统硬盘安装
- 我要积分
- 使用VC时一些容易犯的错误
- java中Calendar日期对象的一些简单应用
- python04 变量和变量的命名
- Definition of 'Strip'
- 关于com接口调用的反汇编