josephus.txt

来自「编号为1」· 文本 代码 · 共 57 行

TXT
57
字号
#include<stdio.h>
#include<stdlib.h>
typedef struct node{
	int num;
	int key;
	struct node *next;
}Lnode;
void main()
{
	int a,b,n,m;
	Lnode *head,*p,*q;
	head=(Lnode*)malloc(sizeof(Lnode));
	printf("请输入总人数:\n");
	scanf("%d",&n);
	p=head;
	for(a=1;a<=n;a++)
	{
		printf("请输入第%d位同学的密码:",a);
		scanf("%d",&m);
		p->next=(Lnode*)malloc(sizeof(Lnode));
		p=p->next;
		p->num=a;
		p->key=m;
	}
	q=p;
	p->next=head->next;
	p=head;
	head=head->next;
	free(p);
	printf("请任意输入一个数m:"); 
	scanf("%d",&m); 
	if(m<=0) printf("输入错误"); 
	else
	{
		do
		{
			a=1;
			p=head;
			while(a<m)
			{
				p=p->next;
				q=q->next;
				a++;
			}
			b=p->num;
			m=p->key;
			printf("第%d号人出列\n",b);
			q->next=p->next;
			head=p->next;
			free(p);
			n--;
		}while(n>0);
	}
}

====================================================
====================================================

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?