猴子选大王.cpp

来自「数据库 上机小程序 猴子选大王 源代码」· C++ 代码 · 共 64 行

CPP
64
字号
#include <stdio.h>  
 #include <stdlib.h>  
 typedef struct node{  
 int data;  
 struct node *next;  
 }listnode;  
 typedef listnode *linklist;  
 linklist initring(int n,linklist r)  
 {  
 listnode *p,*q;  
 int i;  
 r=q=(listnode *)malloc(sizeof(listnode));  
 for(i=1;i<n;i++){                                                                             
 p=(listnode*)malloc(sizeof(listnode));  
 q->data=i;  
 q->next=p;  
 q=p;  
 }  
 p->data=n;  
 p->next=r;  
 r=p;  
 return r;  
 }  
 linklist deletedeath(int n,int k,linklist r)  
 {  
 int i,j;  
 listnode *p,*q;  
 p=r;  
 for(i=1;i<=n-1;i++)  
 {  
 for(j=1;j<=k-1;j++)  
 p=p->next;  
 q=p->next;  
 p->next=q->next;  
 printf("%4d",q->data);  
 if(i % 10==0) printf("\n");  
 free(q);  
 }  
 printf("\n");  
 r=p;return r;  
 }  
 void outring(int n,linklist r)  
 {  
 int i;  
 listnode *p;  
 p=r;  

 printf("猴子大王:");  
 printf("%4d\n",p->data);  
 }  
int main()  
 {  
 linklist r;  
 int n,k;  
 linklist initring(int n,linklist r);  
 linklist deletedeath(int n,int k,linklist r);  
 void outring(int n,linklist r);  
 printf("猴子个数M和N"); 
 scanf("%d%d",&n,&k);  
 r=initring(n,r);  
 r=deletedeath(n,k,r);  
 outring(n,r);  
 }  

⌨️ 快捷键说明

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