⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 Լɪ

📁 数据结构课程设计
💻
字号:
#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 + -