📄 ysfh.cpp
字号:
#include <stdio.h>
#include <stdlib.h>
#define NULL 0
struct nodetype
{
int number;
int cipher;
struct nodetype *next;
};
typedef struct nodetype zjs;
zjs *create(int n)
{
int i;
zjs *p,*q,*la;
la=(zjs *) malloc (sizeof (zjs));
q=la;
for(i=1;i<=n;i++)
{
p=(zjs *)malloc(sizeof(zjs));
p->number=i;
printf("请输入每个人的密码:");
scanf("%d",&p->cipher);
printf("%d %d\n",p->number,p->cipher);
q->next=p;
q=p;
}
q->next=la->next;
return la;
}
void locfor(zjs *la,int m)
{
int i;
zjs *p,*pre,*s;
p=la->next;
printf("出列的顺序为:");
while(la->next!=NULL)
{
for(i=1;i<m;i++)
{
pre=p;
p=p->next;
}
printf("%d ",p->number);
m=p->cipher;
if(pre!=p)
{
pre->next=p->next;
s=p;
p=p->next;
free(s);
}
else
{
free(pre);
la->next=NULL;
}
}
free(la);
printf("\n");
}
void main()
{
int m,n;
zjs *la;
printf("请输入你的初始值m:");
scanf("%d",&m);
printf("m=%d\n",m);
printf("请输入人的个数n:");
scanf("%d",&n);
printf("n=%d\n",n);
la=create(n);
locfor(la,m);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -