📄 123.cpp
字号:
#include<cstdio>
#include<cstdlib>
#define OK 1;
int l_lenth=0; //记录链表数剧个数
typedef struct LNODE{
int password;
int num;
struct LNODE *next;
}LNODE,* Linklist;
Linklist Dellist(Linklist l,Linklist head) //删除结点函数
{
Linklist fp=head;
while((fp->next)!=l)
{
fp=fp->next;
}
Linklist change=fp->next;
fp->next=l->next;
l_lenth--;
free(change);
return fp->next;
}
Linklist CREATlist(int &l) //创建键表函数
{
Linklist head,p,q;
if(l==0) return NULL;
head=(Linklist)malloc(sizeof(LNODE));
if(!head) return NULL;
q=head;
int i;
for(i=0;i<l_lenth-1;i++)
{
printf("*********************请输入程序数剧:*********************\n");
scanf("%d",&(q->password));
q->num=i+1;
p=(Linklist)malloc(sizeof(LNODE));
q->next=p;
q=p;
}
printf("input the last number:");
scanf("%d",&(q->password));
q->num=i+1;
q->next=head;
return head;
}
int OUT(Linklist l) //输出数剧出
{
int i=0;
do
{
printf("序号: %d\n",l->num);
printf("密码: %d\n",l->password);
l=l->next;
i++;
}while(i<l_lenth);
return OK;
}
int main()
{
Linklist head;
int NUM=0,i=0,password;
char flag='y';
do{
printf("*********************请输入玩游戏人数:*********************\n");
scanf("%d",&l_lenth);
printf("****************请输入初始密码:\n");
scanf("%d",&password);
head=CREATlist(l_lenth);
OUT(head);
printf("*********************录入数剧正确:y/n*********************\n");
scanf("%d",&flag);
}
while(flag=='n' || flag=='N');
printf("*********************现在开始游戏*********************\n");
Linklist q=head;
while(l_lenth>1)
{
if(l_lenth<password)
NUM=(password)%l_lenth;
else NUM=password;
for(i=1;i<NUM;i++)
{
q=q->next;
}
password=q->password;
printf("*********************第%d号出局*********************\n",q->num);
q=Dellist(q,head);
head=q;
}
printf("***********************第%d号留下*********************\n",head->num);
;
return OK;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -