ysfh.cpp

来自「数据结构&C++」· C++ 代码 · 共 42 行

CPP
42
字号
#include <stdio.h>   
#include "stdlib.h"   
struct cir
{   
	int data;   
	struct cir *next;   
};   
void main()   
{   
    struct cir *sl,*u,*p;   
	int n,m,i,t; //n是持有密码卡的人数,m是报数上限,i是表中元素
	printf("请输入持有密码卡的人数:\n");   
	scanf("%d",&n);//输入n
	printf("\n密码排列为:\t");
	for(t=1;t<=n;t++)
	{
		printf("%4d\t",t);
	}
	printf("\n\n请输入报数上限:\n");
	scanf("%d",&m);//输入m
	sl=u=(struct cir *)malloc(sizeof(struct cir));//初始化
	sl->data=1;
	for(i=2;i<=n;i++)//形成其余n-1个元素 
	{   
		u->next=(struct cir *)malloc(sizeof(struct cir));   
		u=u->next;    
        u->data=i;
	}
	u->next=sl;  
	printf("\n出列的人的密码依次为:\t");   
	while(n)   
	{   
		for(i=1;i<m;i++) 
			u=u->next;   
			p=u->next;
			u->next=p->next; 
			printf("%4d\t",p->data);   
			free(p);//释放空间 
			n--;   
	}     
}   

⌨️ 快捷键说明

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