⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 yusef.txt

📁 编号是1
💻 TXT
字号:
约瑟夫环问题的源程序如下: 
#include "stdio.h" 
#include "stdlib.h" 
typedef struct node 
{ int data; 
struct node *next; 
}JD; 
JD *xhlbjl(JD *front, JD *rear,int n) 
{ /*建立循环队列*/ 
int i; 

front=(JD *)malloc(sizeof(JD)); 
front->data=n; /*头指针指向n号*/ 
front->next=front; 
for (i=n-1;i>0;i--) 
{ rear=(JD *)malloc(sizeof(JD)); 
rear->data=i; 
rear->next=front->next; 
front->next=rear; 
} 
return(front); 
} 

JD *outqueue(JD *front, JD *rear,int m) /*出队列*/ 
{int i,s; 

for (i=0;i<s-1;i++) 
front=front->next; 
return(front); 
} 
main() 
{ JD *h,*p,*q,*s; 
int i,j,m,n; 
printf("请输入人数 "); 
scanf("%d",&n); 
h=xhlbjl( p,q,n); 
p=h->next; 
printf("坐成一圈的人是: "); 
for(i=1;i<=n;i++) 
{ printf("%3d",p->data); 
p=p->next; 
} 
printf("\n请输入开始位置 "); 
scanf("%d",&s); 
printf("数几个出去 "); 
scanf("%d",&m); 
s=outqueue(p,q,m); 

q=s; 
p=s->next; 
for(j=0;j<n;j++) 
{ for (i=1;i<m;i++) 
{ q=p; 
p=p->next; 
} 
printf("\n出列的人是第 %d 号",p->data); 
q->next=p->next; 
free(p); 
p=q->next; 
} 

} 

⌨️ 快捷键说明

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