山石渡情吧 关注:13贴子:1,341
  • 15回复贴,共1

【欢迎新人】

只看楼主收藏回复

新人进来留一个脚印咯
   -- 律回岁晚冰霜少,春到人间草木知


来自Android客户端1楼2014-12-28 11:11回复
    欧耶,我来了


    来自Android客户端2楼2014-12-28 13:55
    回复
      学弟这名字倒是取得不错


      IP属地:湖南来自Android客户端3楼2015-01-10 05:02
      收起回复
        到过


        来自Android客户端4楼2015-01-16 08:03
        回复
          @苏沫0508


          来自Android客户端5楼2015-06-04 23:55
          回复
            我是几楼


            来自Android客户端6楼2015-06-04 23:56
            收起回复
              #include <stdio.h>
              #include <stdlib.h>
              #define error 0
              #define ok 1
              typedef int Status;
              typedef int ElemType;
              typedef struct LNode
              {
              ElemType data;
              int m;
              struct LNode *next;
              }LNode,*LinkList;
              Status InitList( LinkList &H )
              {
              H = ( LinkList )malloc( sizeof( LNode ) );
              H->next = H;
              return ok;
              }
              Status CreateList( LinkList &H,int n )
              {
              LinkList p,q,s;
              int i;
              p = H;
              for( i = 1;i <= n;i++ )
              {
              q = ( LinkList )malloc( sizeof( LNode ) );
              q->data = i;
              printf("µÚ %d ¸öÈ˵ÄÃÜÂëÊÇ:",i);
              scanf("%d",&q->m);
              q->next = p->next;
              p->next = q;
              p = q;
              }
              s = H->next;
              p->next = H->next;
              free(H);
              H = s;
              return ok;
              }
              Status Joseph(LinkList &H,int n,int x)
              {
              LinkList p,q;
              int i;
              while( H&&H->next->data != H->data)
              {
              if(x==1)
              {
              p = q = H;
              while( p->next!=H )
              p = p->next;
              printf("µÚ %d ¸ö³ö¾Ö\n",p->next->data);
              p->next = H->next;
              H = H->next;
              free(q);
              continue;
              }
              for( i = 1;i < x%n-1;i++ )
              H = H->next;
              p = H->next;
              printf("µÚ %d ¸ö³ö¾Ö\n",p->data);
              x = p->m;
              H->next = p->next;
              free(p);
              H = H->next;
              }
              if(H&&H->next->data == H->data)
              {
              printf("µÚ %d ¸ö³ö¾Ö\n",H->data);
              }
              return ok;
              }
              int main()
              {
              LNode *Head;
              InitList(Head);
              int num1,num2;
              printf("ÇëÊäÈë×ÜÈËÊý:");
              scanf("%d",&num1);
              CreateList(Head,num1);
              printf("µÚÒ»¸ö³ö¾ÖµÄÈË:");
              scanf("%d",&num2);
              Joseph(Head,num1,num2);
              return 0;
              }


              7楼2015-10-26 12:10
              回复
                #include <stdio.h>
                #include <stdlib.h>
                #define error 0
                #define ok 1
                typedef int Status;
                typedef int ElemType;
                typedef struct LNode
                {
                ElemType data;
                int m;
                struct LNode *next;
                }LNode,*LinkList;
                Status InitList( LinkList &H )
                {
                H = ( LinkList )malloc( sizeof( LNode ) );
                H->next = H;
                return ok;
                }
                Status CreateList( LinkList &H,int n )
                {
                LinkList p,q,s;
                int i;
                p = H;
                for( i = 1;i <= n;i++ )
                {
                q = ( LinkList )malloc( sizeof( LNode ) );
                q->data = i;
                printf("第 %d 个人的密码是:",i);
                scanf("%d",&q->m);
                q->next = p->next;
                p->next = q;
                p = q;
                }
                s = H->next;
                p->next = H->next;
                free(H);
                H = s;
                return ok;
                }
                Status Joseph(LinkList &H,int n,int x)
                {
                LinkList p,q;
                int i;
                while( H&&H->next->data != H->data)
                {
                if( x==1 )
                {
                p = q = H;
                while( p->next!=H )
                p = p->next;
                printf("第 %d 个出局",p->next->data);
                printf("\n");
                p->next = H->next;
                H = H->next;
                free(q);
                continue;
                }
                for( i = 1;i < x%n-1;i++ )
                H = H->next;
                p = H->next;
                printf("第 %d 个出局",p->data);
                printf("\n");
                x = p->m;
                H->next = p->next;
                free(p);
                H = H->next;
                }
                if(H&&H->next->data == H->data)
                {
                printf("第 %d 个出局\n",H->data);
                }
                return ok;
                }
                int main()
                {
                LNode *Head;
                InitList(Head);
                int num1,num2;
                printf("请输入总人数:");
                scanf("%d",&num1);
                CreateList(Head,num1);
                printf("第一个出局的人:");
                scanf("%d",&num2);
                Joseph(Head,num1,num2);
                return 0;
                }


                8楼2015-10-26 12:11
                回复
                  #include<stdio.h>
                  #include<stdlib.h>
                  typedef struct Node
                  {
                  int password;
                  int num;
                  struct Node *next;
                  } Node,*Linklist;
                  void Josephus()
                  {
                  Linklist L;
                  Node *p,*r,*q;
                  int m,n,C,j;
                  L=(Node*)malloc(sizeof(Node));
                  if(L==NULL)
                  {
                  printf("\n链表申请不到空间!");
                  }
                  L->next=NULL;
                  r=L;
                  printf("请输入人数n的值(n>0):");
                  scanf("%d",&n);
                  for(j=1;j<=n;j++)
                  p=(Node*)malloc(sizeof(Node));
                  if(p!=NULL)
                  {
                  printf("请输入第%d个人的密码:",j);
                  scanf("%d",&C);
                  p->password=C;
                  p->num=j;
                  r->next=p;
                  r=p;
                  }
                  }
                  r->next=L->next;
                  printf("请输入第一个报数上限值m(m>0):");
                  scanf("%d",&m);
                  printf("*****************************************\n");
                  printf("出列的顺序为:\n");
                  q=L;
                  p=L->next;
                  while(n!=1)
                  {
                  j=1;
                  while(j<m)
                  {
                  q=p;
                  p=p->next;
                  j++;
                  }
                  printf("%d->",p->num);
                  m=p->password;
                  n--;
                  q->next=p->next;
                  r=p;
                  p=p->next;
                  free(r);
                  }
                  printf("%d\n",p->num);
                  }
                  int main()
                  {
                  Josephus();
                  return 0;
                  }


                  9楼2015-11-02 16:57
                  回复