大家帮我编一个C语言程序

来源:百度知道 编辑:UC知道 时间:2024/05/15 16:50:07
有n个人围成一圈,顺序排号.从第一个人开始报数(从1-3报数),凡是到了3就退出圈子,问最后留下的是原来的第几号.
用turbo做一下~用数组啊!不要指针~
aoqijia
给的用指针了吧~能改一下么呵呵多谢啊!!!

用环形队列实现,凡是模三的序列出队最后剩下的就是所求

先构造一个队列对象,然后实现

#i nclude <iostream.h>

#define MAX 101 file://队列总大小

class QUEUE
{
public:

int outdata;

QUEUE() file://析构函数
{
front=MAX-1;
rear=MAX-1;
}
bool InQueue(int x)//入队
{
if(front==(rear+1)%MAX)
{
cout<<"队满上溢"<<endl;
return 0;
}
else
{
rear=(rear+1)%MAX;
data[rear]=x;
return 1;
}

}

bool OutQueue()//出队
{
if(empty())
{
cout<<"队空下溢"<<endl;
return 0;
}
else
{
front=(front+1)%MAX;
outdata=data[front];
return 1;

}

}
int GetFront() file://得到队头数据
{
if(empty())
{
cout<<"queue is empty"<<endl;
return 0;
}
else