数据结构上机实验程序--猴子选大王

2022-04-17 08:00:07   文档大全网     [ 字体: ] [ 阅读: ]

#文档大全网# 导语】以下是®文档大全网的小编为您整理的《数据结构上机实验程序--猴子选大王》,欢迎阅读!
数据结构,上机,大王,猴子,实验
#include #include struct Monkeyking {

int data;

struct Monkeyking *next; };

void main() {

struct Monkeyking *head, *s, *q, *t,*p,*h; int n, k, count=0, i,j;

printf("输入猴子总数:"); scanf("%d",&k); printf("\n");

printf("输入报号起始猴子编号:"); scanf("%d",&j); printf("\n");

printf("输入报号间隔数:"); scanf("%d",&n); printf("\n");

for(i=0; i {

s=(struct Monkeyking *)malloc(sizeof(struct Monkeyking)); s->data=i+1; s->next=NULL; if(i==0) {

head=s; q=head; } else {

q->next=s; q=q->next; }

}//建立一个单链表

q->next=head;//将单链表组成环状 printf("输出猴子原始的编号:"); q=head;

while(q->next!=head) {

printf("%d ",q->data); q=q->next;

}//依次输出节点的值


printf("%d ",q->data); printf("\n"); printf("\n"); q=head;

for (i=0;i{p=q;

q=q->next; } q=p;

printf("输出被淘汰的猴子编号:"); if (n==1) {

for (i=1;i<=k;i++) { t=q;

q=q->next; t->next=h; h=t; }

for (i=1;i<=k;i++) {

printf("%d ",h->data);//倒序输出淘汰猴子的编号,第一个编号为大王 h=h->next; }

printf("\n"); } else { do {

count++;

if(count==n-1) {

t=q->next;

q->next=t->next; t->next=h; h=t; count=0; }

q=q->next; }

while(q->next!=q); q->next=h; h=q;


}

for(i=1;i<=k;i++) {

printf("%d ",h->data);//倒序输出淘汰猴子的编号,第一个编号为大王 h=h->next; } }


本文来源:https://www.wddqxz.cn/765a5234c6da50e2524de518964bcf84b9d52d67.html

相关推荐