- 相關推薦
關于c語言約瑟夫問題輸出序號算法
約瑟夫問題
#include#includetypedef struct node{int data;struct node *next;}LNode,*LinkList;int YSF(LinkList m,int n,int l);void main(){int x,y,z;LinkList p,q,r;//p用來指向第一個人,r、q用來實現尾插法構建鏈表p=(LinkList)malloc(sizeof(LNode));printf("請輸入總人數:");scanf("%d",&x);printf("請輸入報數大小:");scanf("%d",&y);printf("請輸入報數開始人序號:");scanf("%d",&z);r=p;for(int i=1;i<=x-1;i++){q=(linklist)malloc(sizeof(lnode));r->data=i;r->next=q;r=q;}//創建x個單鏈表q->data=x;q->next=p;//構成循環鏈表for(int j=1;j<=z-1;j++){p=p->next;}//找到開始報數人printf("請輸入序號:");int o;scanf("%d",&o);YSF(p,y,o);}int YSF(LinkList m,int n,int l){while(m->next!=m){for(int k=1;knext;}int s=1;if(l==s){printf("編號為%d的人出列 ",m->next->data);break;}else {n++;}m->next=m->next->next;//剔除滿足報出y人的結點m=m->next;}if(m->next==m)printf("編號為%d的人出列 ",m->data);return 0; }
【c語言約瑟夫問題輸出序號算法】相關文章:
C語言的循環鏈表和約瑟夫環03-19
C語言如何輸出菱形11-08
C語言輸出旋轉后數組中的最小數元素的算法原理與實例04-02
PID算法的C語言實現12-04
C語言數據輸出及輕量進階11-25
最常用的c語言算法有哪些12-05
C語言八皇后問題12-04
C語言的可變參數問題03-20
C語言選擇排序算法及實例代碼11-25