約瑟夫環 (c++)

來源:互聯網
上載者:User
文章目錄
  • 實驗題目(共10題, 第1題)
實驗題目(共10題, 第1題)
標題: 約瑟夫環
時 限: 500 ms
記憶體限制: 2000 K
總時限: 1000 ms
描述: 約瑟夫環編號為1,2,3,……,n的n個人按順時針方向圍坐一圈。任選一個正整數作為報數上限m,從第一個人開始按順時針方向自1開始順序報數,報到m時停止報數。報m的人出列,從他在順時針方向上的下一個人開始重新從1報數,如此下去,直至所有人全部出列為止。設計程式輸出出列順序。
輸入: 人數n 報數上限m個人記錄1 (格式為:姓名 學號 性別 年齡 班級 健康情況)個人記錄2…

個人記錄n

輸出: 第1次報數出列的個人記錄第2次報數出列的個人記錄…

第n次報數出列的個人記錄

輸入範例:
5 3安彌邵 10000001 女 28 計43 一般宰覓 10000002 男 23 計79 健康顧健 10000003 男 27 計29 一般宓頑芳 10000004 女 20 計17 健康能紙壟 10000005 男 18 計11 健康
輸出範例: 顧健 10000003 男 27 計29 一般  
安彌邵 10000001 女 28 計43 一般  
能紙壟 10000005 男 18 計11 健康  
宰覓 10000002 男 23 計79 健康  
宓頑芳 10000004 女 20 計17 健康
提示: 迴圈表
來源:
View Code

 1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4
5 struct LNode
6 {
7 int num;
8 char o[20];
9 char y[20];
10 char w[20];
11 char x[20];
12 char e[20];
13 char r[20];
14 LNode *next;
15 };
16
17 typedef LNode *LinkList;
18
19 void CreateCList(LinkList &CList, int N)
20 {
21 int j;
22 LinkList p,q;
23 CList=(LinkList)malloc(sizeof(LNode));
24 p=q=CList;
25 scanf("%s %s %s %s %s %s\n",p->o,p->y,p->w,p->x,p->e,p->r);
26 CList->num=1;
27 for(j=1; j<N; j++)
28 {
29 p=(LinkList)malloc(sizeof(LNode));
30
31 scanf("%s %s %s %s %s %s\n",p->o,p->y,p->w,p->x,p->e,p->r);
32 p->num=j+1;
33 q->next=p;
34 q=p;
35 }
36 p->next=CList;
37 }
38
39 void Run(LinkList CList,int m)
40 {
41 int j;
42 LinkList p,q;
43
44 p=CList;
45 while(p->next!=p)
46 {
47 if(m==1) for(q=p; q->next!=p;q=q->next);
48 for(j=1; j<m; j++)
49 {
50 q=p;
51 p=p->next;
52 }
53 q->next = p->next;
54 printf("%s %s %s %s %s %s\n", p->o,p->y,p->w,p->x,p->e,p->r);
55 free(p);
56 p=q->next;
57 }
58 printf("%s %s %s %s %s %s\n",p->o,p->y,p->w,p->x,p->e,p->r);
59 free(p);
60 }
61
62 int main()
63 {
64 int n,m;
65
66 scanf("%d %d",&n,&m);
67 LinkList CList;
68
69 CreateCList(CList, n);
70
71 Run(CList,m);
72
73 return 0;
74 }
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.