当前位置: 首页 > news >正文

seo综合查询爱站免费招聘网哪个平台比较好

seo综合查询爱站,免费招聘网哪个平台比较好,wordpress手机号码登录密码,wordpress禁止访问模版页面https://blog.csdn.net/niu_gao/article/details/51458721 在内存中模拟出一副牌#xff0c;然后模拟洗牌#xff0c;发牌等动作。 流程是这样的#xff1a;构建一副牌保存到一个数组中—洗牌—创建玩家—向玩家发牌–输出每个玩家的牌。 #include stdio.h #include…https://blog.csdn.net/niu_gao/article/details/51458721 在内存中模拟出一副牌然后模拟洗牌发牌等动作。 流程是这样的构建一副牌保存到一个数组中—洗牌—创建玩家—向玩家发牌–输出每个玩家的牌。 #include stdio.h #include stdlib.h #include time.h //定义扑克的花色 enum Suit{heart,spade,diamond,club,joker1,joker2 }; //一副牌的数量 #define CARD_COUNT 54 //定义扑克 typedef struct Card{int value;//牌的点数从1开始enum Suit suit;//花色 }Card; //定义玩家 typedef struct Player{char name[64];//玩家的名字Card ** cards;//玩家分到的牌。每项是一个指针指向原始一副牌数组中的一项这样可以节省空间int cardsCount;//玩家分到的牌的数量 }Player; //分牌完成后调用的函数的类型 typedef int (*COMPARE)(Card* ,Card*); //函数声明们 char* getCardName(const Card*); Card** shuffle(const Card*); void dispatchCards(Player** ,int ,const Card** ); void sort(Card**,int,COMPARE); int compare1(Card* ,Card*); int compare2(Card* ,Card*); void initOnePack(); //原始一副牌所在的数组 Card pokers[CARD_COUNT]; //入口函数 int main(void) {//初始化一副牌initOnePack();//洗牌shuffledPokers保存洗后的牌们Card** shuffledPokers shuffle(pokers);//构建三个玩家Player player1;strcpy(player1.name,隔壁老王);player1.cardsNULL;player1.cardsCount0;Player player2;strcpy(player2.name,小明);player2.cardsNULL;player2.cardsCount0;Player player3;strcpy(player3.name,田中龟孙);player3.cardsNULL;player3.cardsCount0;//把三放到一个数组中以传入发牌函数中Player* players[]{player1,player2,player3};//发牌dispatchCards(players,sizeof(players)/sizeof(Player*),shuffledPokers);//洗后的牌用完了释放之free(shuffledPokers);int i;//打印出每个玩家手中的牌for(i0;isizeof(players)/sizeof(Player*);i){//先打印玩家的名字printf(%s\n,players[i]-name);//需要对玩家手中的牌排序sort(players[i]-cards,players[i]-cardsCount,compare1);//打印玩家手中所有的牌int j;for(j0;jplayers[i]-cardsCount;j){char * name getCardName(players[i]-cards[j]);printf(%s ,name);free(name);}//每个玩家都需要换一次行printf(\n);}//释放玩家手中牌的数组for(i0;isizeof(players)/sizeof(Player*);i){free(players[i]-cards);}return 0; } //构造一副牌 void initOnePack(){int i0;//前52张for(;iCARD_COUNT-2;i){pokers[i].valuei/41;pokers[i].suit i%4;}//剩下的两张大王和小王//joker1pokers[i].valuei/41;pokers[i].suitjoker1;//joker2pokers[i1].valuei/42;pokers[i1].suitjoker2; } //洗牌参数是原始的一副牌返回洗完后的牌 Card** shuffle(const Card* pokers){int i;//分牌返回牌数组的内存空间Card** retPokers malloc(CARD_COUNT*sizeof(Card*));//为了不改动原始的一副牌另建一个数组保存原始牌的指针注意每项不是牌而是牌的指针Card** pokers2 malloc(CARD_COUNT*sizeof(Card*));for(i0;iCARD_COUNT;i){pokers2[i] pokers[i];}//种下随机种子。种子取的是当前时间//所以保证了每次运行程序时产生的随机数序列不同srand(time(NULL));//取得随机序号从pokers2取出序号所指的项把它依次加到retPokers中。for(i0;iCARD_COUNT;i){unsigned int index rand()%CARD_COUNT;if(pokers2[index] ! NULL){retPokers[i] pokers2[index];pokers2[index]NULL;}else{i--;}}free(pokers2);//返回洗完后的数组return retPokers; } //发牌 //players是玩家数组 //playerCount是玩家数量 //shuffledCards是洗完后的一副牌 void dispatchCards(Player** players,int playerCount,const Card** shuffledCards){//计算每个玩家手中牌的数组的容量如果每个玩家手中的牌不一样//最多就差一张加1是为了保证数组分配的空间足够容纳分到的牌。int numberCards CARD_COUNT/playerCount1;//为每个玩家的牌数组分配空间int i;for(i0;iplayerCount;i){Card* cards malloc(numberCards*sizeof(Card*));players[i]-cards cards;}//轮流向每个玩家发牌for(i0;iCARD_COUNT;i){//取当前玩家Player *curPlayer players[i%playerCount];//向玩家发牌curPlayer-cards[curPlayer-cardsCount] shuffledCards[i];//玩家手中实际的牌数增加curPlayer-cardsCount;} } //排序函数 //cards是要排序的牌每一项是牌的指针 //cardsCount是牌的数量 //compare_func是比较函数 void sort(Card** cards,int cardsCount,COMPARE compare_func){int i;for(i0;icardsCount-1;i){int j;for(j0;jcardsCount-i-1;j){if(compare_func(cards[j],cards[j1])){int tmpcards[j];cards[j]cards[j1];cards[j1]tmp;}}} } //比较函数先比较点数再比较花色 int compare1(Card* a,Card* b){if(a-value b-value){return 1;}else if(a-value b-value){return 0;}else{if(a-suit b-suit)return 1;elsereturn 0;} } //比较函数先比较点数再比较花色 int compare2(Card* a,Card* b){if(a-value b-value){return 0;}else if(a-value b-value){return 1;}else{if(a-suit b-suit)return 0;elsereturn 1;} } //获取牌的名字 //返回牌的名字字符串调用者用完后需要free()之。 char* getCardName(const Card* card){//存放花色名字char suitStr[16]{0};//0\0switch (card-suit) {case heart:strcpy(suitStr,红桃);break;case spade:strcpy(suitStr,黑桃);break;case diamond:strcpy(suitStr,方块);break;case club:strcpy(suitStr,梅花);break;}//存放点数名字char valueStr[16];switch(card-value){case 1:strcpy(valueStr,A);break;case 11:strcpy(valueStr,J);break;case 12:strcpy(valueStr,Q);break;case 13:strcpy(valueStr,K);break;case 14:strcpy(valueStr,小王);break;case 15:strcpy(valueStr,大王);break;default:sprintf(valueStr,%d,card-value);break;}//动态分配足够的空间char * ret malloc(16);//将两个名字合并到ret中sprintf(ret,%s%s,suitStr,valueStr);return ret; }
http://wiki.neutronadmin.com/news/403312/

相关文章:

  • 网站公司一站式服务新闻 近期大事件
  • 网站搭建wordpress深圳专业制作网站技术
  • 电商类网站开发项目流程买电脑wordpress
  • 电脑pc端网站建设是什么意思网站开发技术入股协议
  • 玉溪网站建设现状兰州网站建设ulezhi
  • 四川省红鱼洞水库建设管理网站万柳网站建设
  • 音乐网站系统源码wordpress改模板教程视频教程
  • 浙江网站建设推广公司哪家权威diy网站建设
  • 公司建设一个网站首页wordpress 阿里百秀主题
  • 品牌广告公司网站建设网页设计怎么做版式
  • 做生意的网站门户网站建设信息化项目背景
  • 做搞笑图片的网站网站建设的步骤过程文库
  • 场外期权网站开发怎样做网站宣传自己的宾馆
  • 微信网站平台建设方案网站虚拟主机哪个好
  • 佛山企业自助建站系统wordpress 截断
  • 公众号怎么做微网站网站怎么做下载连接
  • 网站被k怎么解决网页生成视频
  • 哈尔滨专业做网站做网站的时候卖过假货而出过事
  • 松岗网站建设网页设计师证书怎么考?
  • 网站文案优化网页设计师证书含金量高吗
  • 南平高速建设有限公司网站娱乐平台网站开发免费
  • 为外国人做非法网站站长统计入口
  • 微信小程序联盟网站做网站线
  • 北京专业网站优化淮安建设工程协会网站查询系统
  • 湖北省建设局网站零食网页制作素材
  • 做空闲时间的网站佛山市住房建设局网站办事大厅
  • 网站到期时间iphone手机网站建设
  • 邢台学校网站建设价格广州 网站制作公司 网络服务
  • 要加强县门户网站的建设管理办法郑州网页制作案例教程
  • 阜阳网站制作公司报价网站电线电话图怎么做