#include<stdio.h>
#include<malloc.h>
void main()
{
int i,j, k,n,m;
struct baoshu
{
int number;
struct baoshu *next;
}*p,*q,*head,*temp;
printf("输入人数");
scanf("%d", &n);
head = NULL;
q = NULL;
for (i = 0; i < n; i++)
{
p = (baoshu*)malloc(sizeof(baoshu));
if (head == NULL)
{
head = p;
q = p;
}
else {
q->next = p;
q = p;
}
p->number = i + 1;
}q->next = head;
temp= (baoshu*)malloc(sizeof(baoshu));
temp = head;
printf("请输入K");
scanf("%d", &k);
printf("请输入m");
scanf("%d", &m);
if (m > n)
{
printf("你输入的m错误");
return;
}
for (j = 1; j < m; j++)
{
temp = temp->next;
}
for (;p->next!=temp->next;)
{
for (i = 1; i < k; i++)
{
p = temp;
temp = temp->next;
}
printf("%d桌出去\n",temp->number);
p->next = temp->next;
temp = temp->next;
}
printf("%d桌出去", temp->number);
}
【数据结构】c语言链表实现报数问题
最新推荐文章于 2022-10-31 17:01:59 发布