資源簡介
編號為1,2,……,n的n個人按順時針方向圍坐一圈,每人持有一個密碼
(整數,正負均可),一開始任選一個正整數作為報數上限值m,從第一個人開
始順時針(若密碼為負,則逆時針)自一開始順序報數,報到m時停止報數。
報m的人出列,將他的密碼作為新的m值,從他在順時針方向(若密碼為負,
則逆時針)上的下一個人開始重新從1報數,如此下去,直至所有人全部出列。
用c中的數組和鏈表方法可以求出出列的順序。
代碼片段和文件信息
#include
#include
#include
#define??N??10000
int?main()
?{
???int?p[N+1]a[N+1];
???int?nmtk;
???n=N;
printf(“n的值為:N\n“);
printf(“m的值為:“);
srand(time(NULL));
m=rand()?%N-N/2;
printf(“%d\n“m);
????printf(“密碼為:“);
srand(time(NULL));??????//生成隨機種子
for?(k=1;?k<=n;?k++)
{
? p[k]=?rand()?%?N-N/2;//隨機生成0到Max之間的一個整數
}
????p[0]=m;
for(t=1;t<=n;t++)//輸出密碼
{
printf(“%d??“p[t]
評論
共有 條評論