一个C程序问题,用链表做

来源:百度知道 编辑:UC知道 时间:2024/05/17 02:06:23
一群士兵,围成一圈,从某一位士兵开始报数,报7的那个人出列并由下一人由1开始重报,以此类推,请问,最后一位在开始时的序号是多少??
问题补充:未知量可自己定义就是

给,已经编译运行确认了:

#include<conio.h>
#include<stdio.h>

#include<malloc.h>

#define N 7

typedef struct tagRing_t
{
int Num;
struct tagRing_t *pnext;
}Ring_t;

int InitRing(Ring_t **pstRing)
{
*pstRing = (Ring_t *)malloc(sizeof(Ring_t));
if (NULL == *pstRing)
{
return 0;
}
(*pstRing)->Num = 1;
(*pstRing)->pnext = *pstRing;
return 1;
}

int CreateRing(Ring_t **pstRing, int iNum)
{
int i = 0;
Ring_t *pstTemp = NULL, *pst = NULL;
if (iNum < 1)
{
return 0;
}
pstTemp = *pstRing;

for (i = 0; i < iNum; i++)
{
if (0 == i)
{
(*pstRing)->Num = 1;
}
else
{
pst = (Ring_t *)malloc(sizeof(Ring_t));
if (NULL == pst)
{
return 0;
}
pst->Num = i + 1;
pstTem