小明交换牌(C语言版)
来源:互联网 发布:网络麻将赌博是那一款 编辑:程序博客网 时间:2024/05/20 10:15
小明交换牌
//小明和牌:名字人:左手和右手 牌:花色和数字
// 交换:动词 动作:把左手牌给右手,把右手的牌给左手
交换前:左手有一张牌、右手有一张牌(抓牌)
C语言中可以把名词封装成结构体、动词封装成函数
代码:
#include <stdio.h>
//创建一个牌的结构体
typedef struct Poker{
//花色和数字
int color; //花色
int number; //牌的数字
}Poker;
//创建一个手的结构体
typedef struct Hands{
//手里有牌
Poker poker;
}Hands;
//创建一个人的类型
typedef struct Person{
//拥有左手和右手
Hands leftHand; //人的左手
Hands rightHand; //人的右手
}Person;
//左手拿牌
//Poker leftHandTakePoker(Poker poker){
//
// return poker;
//}
//交换牌
void changePoker(Poker* poker1 , Poker* poker2){
//交换牌
Poker temp = *poker1;
*poker1 = *poker2;
*poker2 = temp;
}
//牌花色的枚举
enum PokerColor{
HEI_TAO,
HONG_TAO,
MEO_HUA,
FANG_KUAI
};
//牌数字的枚举
enum PokerNumber{
A = 1,
J = 11,
Q,
K
};
//牌的所有花色
char* colors[4] = {"♠︎","♡","♣︎","♢"};
//牌的所有数字
char* numbers[] = {"","A","2","3","4","5","6","7","8","9","10","J","Q","K"};
void showPoker(Poker poker1, Poker poker2){
printf("左手:%s%s右手:%s%s\n",colors[poker1.color],numbers[poker1.number], colors[poker2.color],numbers[poker2.number]);
}
int main(int argc, const char * argv[]) {
//创建两张牌分别是红桃K和黑桃A
Poker poker1 = {HONG_TAO,K}; //创建了红桃K
Poker poker2 = {HEI_TAO,A};
//创建两只手
Hands leftHand;
Hands rightHand;
//创建小明
Person xiaoming;
//小明有两只手
xiaoming.leftHand = leftHand;
xiaoming.rightHand = rightHand;
//用小明的手去抓牌
xiaoming.leftHand.poker = poker1;
xiaoming.rightHand.poker = poker2;
printf("======交换前=====\n");
showPoker(xiaoming.leftHand.poker, xiaoming.rightHand.poker);
//交换小明两只手里的牌
changePoker(&xiaoming.leftHand.poker, &xiaoming.rightHand.poker);
printf("======交换后======\n");
showPoker(xiaoming.leftHand.poker, xiaoming.rightHand.poker);
return 0;
}
- 小明交换牌(C语言版)
- 数据结构与算法(C语言版)__交换
- C语言版cat小程序
- 俄罗斯方块(C语言版)
- 数据结构(C语言版)
- 数据结构(C语言版)
- Makefile(c语言版)
- 俄罗斯方块(C语言版)
- 万年历(C语言版)
- 队列(C语言版)
- 单链表(c语言版)
- 数据结构(C语言版)
- 查找第K小元素(C语言版)
- 小师妹(岛国语言版)
- 快速排序(c语言版)
- 皇后问题(c语言版)
- 专业情书(C语言版)
- 二叉树(C语言版)
- Spark的部署模式
- php冒泡排序算法和快速排序算法
- C# FTP常用操作
- HDOJ 1005 Number Sequence规律题
- C# 代码反编译、代码混淆与加壳工具
- 小明交换牌(C语言版)
- 最长回文子串
- IOS基础类
- android service 总结(1)
- 学习Sqlite3 (一)
- 兼容各浏览器的强制换行,不论中英文。。。。单词,长串等
- 2015年度总结
- xib正确创建可滑动的UIScrollView
- 2015 岁末 祝福 感恩