论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > C语言程序设计教程
Tag:新手,函数,指针,数据类型,对象,Turbo,入门,运算符,数组,结构,二级,,tc,游戏,试题,问答,编译,视频教程

JOSEPH环

文章类别:C语言程序设计 | 发表日期:2008-9-24 14:42:48

#include<stdio.h>
typedef struct Node
{
 int number;
 int cipher;
 struct Node *next;
}node,*hu;
hu H;//定义头结点为H;
init(int n)
{
  int i;
  int cipher;
  hu L;
  if(n>=1)
  {
    scanf("%d",&cipher);
    H=(hu)malloc(sizeof(node));//生成头结点;
    H->number=1;
    H->cipher=cipher;
    H->next=H;
    for(i=1;i<n;i++)
    {
      scanf("%d",&cipher);
      L=(hu)malloc(sizeof(node));//生成副结点;
      L->number=i+1;
      L->cipher=cipher;
      L->next=H->next;
      H->next=L;
      H=L;
    }
    H=H->next;//循环单链表的生成;
  }
  else
    printf("The N's value that you inputted is invalid!");
}
Joseph(int m,hu h)//进行程序的循环,使顺序出列;
{
  int i;
  hu l;
  l==h;
  i=1;
  while(i!=m)
  {
    i=i+1;
    l=h;
    h=h->next;
  }
  printf("%3d",h->number);
  m=h->cipher;
  l->next=h->next;
  free(h);
  h=l->next;
  if(h!=l)
    Joseph(m,h);
  else
  {
    printf("%3d",h->number);
    free(h);
  }
}
main()
{
 int m;
 int n;
 int i;
 clrscr();
 printf("Please input the starting value of M ( the upper limit worth of M ) : ");
 scanf("%d",&m);
 printf("Please input the man's figure who have a hand in: ");
 scanf("%d",&n);
 printf("Please input the cipher from number1 to number%d:",n);
 init(n);
 printf("The order of Dequeue is :");
 Joseph(m,H);
}
视频教程列表
文章教程搜索
 
C语言程序设计推荐教程
C语言程序设计热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058