(百例编程)86.自动发牌
2013-01-25 22:07
302 查看
题目:一副扑克有52张牌,打桥牌时应将牌分给四个人。 请设计一个程序完成自动发牌的工作。要求:黑桃用S(Spaces)表示;红桃用H(Hearts)表示;方块用D(Diamonds)表示;梅花用C(Clubs)表示。
/* 86.cpp 题目:一副扑克有52张牌,打桥牌时应将牌分给四个人。 请设计一个程序完成自动发牌的工作。要求:黑桃用S (Spaces)表示;红桃用H(Hearts)表示;方块用D(Diamonds) 表示;梅花用C(Clubs)表示。 by as1138 2013-01-25 */ #include <iostream> #include <bitset> #include <time.h> #include <stdlib.h> using namespace std; int main(int argc, char const *argv[]) { //S 1-k <=> 1-13 //H 1-k <=> 14-26 //D 1-k <=> 27-39 //C 1-k <=> 40-52 bitset<52> bitCard; char PrintChar[13] = {'A','2','3','4','5','6','7','8','9','T','J','Q','K'}; int nCount = 0; int i = 0; int j = 0; int Play[4][13] = {0}; size_t randNum = 0; srand(time(NULL)); while(nCount < 52) { randNum = rand()%52; if(!bitCard[randNum]) { nCount++; bitCard[randNum] = 1; Play[j++][i] = randNum+1; j = j%4; if(nCount%4 == 0) i++; } }//end while(nCount<52) for (int n = 0; n < 4; ++n) { cout<<"Player "<<n+1<<':'; for (int m = 0; m < 13; ++m) { if (Play [m] >0 && Play [m] <14) { cout<<'S'<<PrintChar[Play [m]-1]<<" "; } else if (Play [m] >13 && Play [m] <27) { cout<<'H'<<PrintChar[Play [m]-14]<<" "; } else if (Play [m] >26 && Play [m] <40) { cout<<'D'<<PrintChar[Play [m]-27]<<" "; } else if (Play [m] >39 && Play [m] <53) { cout<<'C'<<PrintChar[Play [m]-40]<<" "; } } cout<<endl; } return 0; }
相关文章推荐
- (百例编程)79.求π的近似值(2)
- 3G上网卡3_编程自动确认拨号端口学习笔记
- 王垠:自动编程是不可能的 我为什么不在乎人工智能
- linux 下 C 编程和make的方法 (七、补充,模块化项目组织的Makefile设计和自动生成脚本)
- Spring标签@Aspect-实现面向方向编程(@Aspect的多数据源自动加载)——SKY
- (百例编程)15.捕鱼和分鱼
- (百例编程)24.阿姆斯特朗数
- C/C++语言经典、实用、趣味程序设计编程百例精解(3)
- VC编程实现IE7 IE8 IE9自动完成口令获取
- 提高用户体验的编程细节系列内容之自动切换输入法 (http://www.cnblogs.com/mz121star/archive/2011/02/20/yonghutiyan.html)
- Java研究与实现编程题自动评分技术
- (百例编程)48.新娘和新郎
- obj-c编程11:内存管理和ARC(自动引用计数)
- VC++编程时,左侧ClassView中的类有时会自动消失,如何让所有类都显示?
- (百例编程)69.魔术师的猜牌术(1)
- Visual C++ 时尚编程百例009(响应键盘)
- Android编程实现自动检测版本及自动升级的方法
- 【教你抢课】C++网络编程之使用Winsock2实现教务系统自动抢课程序
- winpcap编程实现自动过滤FTP用户名及密码
- Java学习笔记之网络编程基础-根据域名自动到DNS上获取IP地址