实验目的
在C语言环境下(Turbo C或VC)编写一个简单的报数应用程序。
通过本实验,使学生能够在C语言环境下熟练地编写基本的应用程序。
实验意义
通过本实验,使学生能够进一步理解C语言中链表和指针的使用,熟悉基本的输入和输出方法。
实验背景
约瑟夫环问题 Josephus:编号为1,2,3,……,n的n个人按顺时针方向围坐一圈。任选一个正整数作为报数上限m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。
实验步骤及要求
1、建立n个人的单循环链表存储结构
2、运行结束后输出依次出队的人的序号
3、提交源程序清单及程序注释
4、提交程序使用方法和程序使用界面
5、上机演示实验结果
实验学时
3学时
#include<stdio.h>
#include<stdlib.h>
typedef struct Node // 创建结构体
{
int num;
struct Node *next;
}LNode,*LinkList;
int InitLink(LinkList &L,int n) //创建循环链表
{
int i;
L = (LinkList)malloc(sizeof(LNode)); //为头结点申请空间
L->n