📄 Լɪ
字号:
#include<stdio.h>
#include<stdlib.h>
typedef struct LNode{
int mm;
int num;
struct LNode*next;
}LNode,*LinkList;
LinkList CreatList(int n){
LinkList p,L;
int i,mm;
L=(LinkList)malloc(sizeof(LNode));
L->next=NULL;
for(i=n;i>0;){
printf("第%d个人的密码:",i);
p=(LinkList)malloc(sizeof(LNode));
scanf("%d",&mm);
if(mm<=0) continue;
p->mm=mm;
p->num=i;
p->next=L->next;
L->next=p;
--i;
}
return L;
}//CreatList
void ListDelete(LinkList L,int *e){
LinkList p;
p=L->next;
L->next=p->next;
*e=p->mm;
free(p);
}//ListDelete
void main(){
LinkList p,s,r,L;
int i,m,n;
printf("请输入报数上限m和人数n:\n");
scanf("%d %d",&m,&n);
if(m<=0||n<=0) return;
L=CreatList(n);
s=L->next;
p=L->next;
while(s->next!=NULL)
s=s->next;
s->next=L->next;
free(L);
while(p->next!=p){
for(i=1;i<m;i++){
r=p;
p=p->next;
}
printf("%d\t",p->num);
p=p->next;
ListDelete(r,&m);
}
printf("%d\n",p->num);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -