魔术师发牌问题 C语言
来源:互联网 发布:嵌入式linux教学视频 编辑:程序博客网 时间:2024/05/22 12:03
#include <stdio.h>#include <stdlib.h>#define LEN sizeof(struct magic)typedef struct magic{ //结构体,包含一个整形和一个指针; int no; struct magic *next;}PAI;int a[14]={0}; //包含14个元素的数组,用来存放每次翻开的卡牌PAI *creat(){ //创建循环链表 包含13个结构体,整型赋值 1-13 并按顺序链接;返回表尾指针。 PAI *head,*p1,*p2; int i; head=p1=p2=(PAI *)malloc(LEN); for(i=1;i<13;i++){ p1->no=i; p2=p1; p1=(PAI *)malloc(LEN); p2->next=p1; } p1->no=13;p1->next=head;return p1;}void fuzhi(PAI *p){ // 从表尾开始数,(1-13);每删除(翻开)一个元素,获取他的位置 然后在数组对应的位置赋值该翻开卡牌的数值。 int i,j;PAI *p1=p;for(i=1;i<=13;i++){ for(j=1;j<i;j++){ p1=p; p=p1->next; } if(i==1) { a[p1->next->no]=j; p=p->next->next; p1->next=p; } else{a[p1->next->no]=j; p=p->next; p1->next=p; } }}int main(){ int i; PAI *p=creat(); fuzhi(p); for(i=1;i<14;i++){ printf("第%d张牌是黑桃%d \n",i,a[i]); }return 0;}
阅读全文
0 0
- 魔术师发牌问题 C语言
- 魔术师发牌问题GO语言实现
- 数据结构(c++)魔术师发牌问题
- C数组解决魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题(数据结构)
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题2
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题
- css em
- xml头报错
- VUE.JS
- Ubuntu16.04下Mongodb安装部署步骤(图文详解)
- Android样式的开发:drawable汇总篇
- 魔术师发牌问题 C语言
- 炸弹人2
- 使用history.length判断是否有上一页面,如果没有就返回到指定页面
- Django学习06---Model模型(数据库)
- python requests库安装
- java selenium环境搭建
- pdfbox简明教程
- Hdu 6185 Covering【递推+矩阵快速幂】
- hive-hadoop 常用命令