• 大小: 236KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-09
  • 语言: C/C++
  • 标签: C++  约瑟夫环  源码  

资源简介

编号为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


评论

共有 条评论