資源簡介
編號為1,2,3,…,n的n個人按順時針方向圍坐一圈,每人持有一個密碼(正整數)。一開始任選一個正整數作為報數的上限值m,從第一個人開始按順時針方向自1開始順序報數,報到m時停止。報m的人出列,將他的密碼作為新的m值,從他在順時針方向上的下一人開始重新從1報數,如此下去,直到所有人全部出列為止。編程打印出列順序。

代碼片段和文件信息
#include
#include
typedef?struct?Lnode{ //動態分配節點
????int????????????data;
int ???code;
????struct?Lnode???*next;
}link;
void?number_of_del(link?*L?int?n)
{
??link?*s*q?*p;
??int?imcodeorderj=1;
??
??s=(link*)malloc(sizeof(link));?????//分配一個頭結點
??if?(!s)?return;
??s->data=0;
??s->code=0;
??s->next=s;
L=s;
p=L;
??printf(“請為每個人分配密碼:\n“);
??
??for(i=1;?i<=n;?i++)????????????????//循環分配N個結點
??{
?????s=(link*)malloc(sizeof(link));
?????if?(!s)?return;
?scanf(“%d“&code);
?s->data=i;
?????s->code=code;
?????p->next=s;
?????p=s;
?????s->next=L;
??}
??p->next=L->next;
??free(L); //釋放頭結點
??p=p->next; //指向第一個結點
??printf(“請輸入第一次的密碼m:\n“);
??scanf(“%d“&m);
??
?
??i=1;
??printf(“出鏈順序為:\n“);
??
??while(j++ {
while(i++ {
q=p;
p=p->next;
}
m=p->code; //當前出列的人的密碼作為下一輪循環的密碼
order=p->data;
q->next=p->next;
printf(“%5d“order);
q=p;
p=p->next;
free(q); //釋放出列人的節點
i=1;
}
??printf(“%5d\n“?p->data);
}
void?main()
{
int?n;
link?L;
printf(“請輸入人數n:\n“);
scanf(“%d“&n);
number_of_del(&Ln); //函數調用
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
????.......??????4805??2008-10-20?10:34??YsfCircle\Debug\LikeKing.obj
?????文件?????203724??2008-10-20?10:35??YsfCircle\Debug\LikeKing.pch
????.......????427008??2008-10-20?10:35??YsfCircle\Debug\LikeKing.pdb
????.......??????3595??2008-10-18?00:32??YsfCircle\Debug\MonkeyKing.obj
????.......??????5200??2008-10-20?10:35??YsfCircle\Debug\Queen.obj
????.......?????41984??2008-10-20?10:35??YsfCircle\Debug\vc60.idb
????.......?????53248??2008-10-20?10:35??YsfCircle\Debug\vc60.pdb
????.......????163906??2008-10-17?18:12??YsfCircle\Debug\YsfCircle.exe
????.......????171048??2008-10-17?18:12??YsfCircle\Debug\YsfCircle.ilk
????.......????203724??2008-10-17?17:55??YsfCircle\Debug\YsfCircle.pch
????.......????336896??2008-10-17?18:12??YsfCircle\Debug\YsfCircle.pdb
????.......??????1316??2008-10-20?10:33??YsfCircle\LikeKing.cpp
?????文件???????3502??2008-10-20?10:35??YsfCircle\LikeKing.dsp
?????文件????????541??2008-10-20?10:28??YsfCircle\LikeKing.dsw
?????文件??????50176??2008-10-20?10:35??YsfCircle\LikeKing.ncb
?????文件??????48640??2008-10-20?10:35??YsfCircle\LikeKing.opt
????.......???????956??2008-10-20?10:35??YsfCircle\LikeKing.plg
????.......??????4319??2008-10-17?19:13??YsfCircle\YsfCircle.dsp
????.......???????543??2008-10-17?17:54??YsfCircle\YsfCircle.dsw
????.......?????33792??2008-10-17?19:13??YsfCircle\YsfCircle.ncb
????.......?????48640??2008-10-17?19:13??YsfCircle\YsfCircle.opt
?????文件????????900??2008-10-17?18:12??YsfCircle\YsfCircle.plg
?????目錄??????????0??2009-04-03?01:04??YsfCircle\Debug
?????目錄??????????0??2009-04-03?01:04??YsfCircle
-----------?---------??----------?-----??----
??????????????1808463????????????????????24
評論
共有 條評論