📄 2.cpp
字号:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
typedef struct Lnode
{
int num,code;
struct Lnode *next;
}Lnode;
void main()
{
int i,j,key,n; /*i,j为记数器,key为输入的密码,n为人的总人数*/
Lnode *p,*s,*head;
head=(Lnode *)malloc(sizeof(Lnode)); /*为头结点分配空间*/
p=head;
printf("请输入总人数:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("第%d人",i);
printf(" code: ");
scanf("%d",&key); /*输入各个人的密码*/
s=p;
p=(Lnode *)malloc(sizeof(Lnode)); /*创建新的结点*/
s->next=p;
p->num=i;
p->code=key;
}
p->next=head->next;
p=head;
head=head->next;
free(p);
p=head;
do
{
printf("\n人数%d Code:%d",p->num,p->code); /*输出链表*/
p=p->next;
}while(p!=head);
printf("\n请输入首密码 key:");
scanf("%d",&key);
do
{
j=1; /*j为记数数*/
p=head;
while(j<key)
{
s=p;
p=p->next;
j++;
}
i=p->num;
key=p->code;
printf("\n出列人号码:");
printf("第%d人",i);
s->next=p->next;
head=p->next; /*重新定义head,下次循环的开始结点*/
free(p);
n--; /*每循环一次人是减1*/
}while(n>0);
getch();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -