排序系统设计。

来源:百度知道 编辑:UC知道 时间:2024/05/07 18:55:32
排序系统设计。
设编号为1,2,3,……,n的n(n>0)个人按顺时针方向围坐一圈,每个人持有一个正整数密码。开始时任选一个正整数做为报数上限m,从第一个人开始顺时针方向自1起顺序报数,报到m是停止报数,报m的人出列,将他的密码作为新的m值,从他的下一个人开始重新从1报数。如此下去,直到所有人全部出列为止。令n最大值取30。要求设计一个程序模拟此过程,求出出列编号序列。

#include "stdio.h"
main()
{
int n=30,rn;
int m[29]={3,5,6,8,1,2,4,7...}
//生成一个随机正整数数1-30
rn=rand();
printf("the first number:",rn);
for(i=1;i<=n;i++)
{
rn=(rn+m[rn-1])%n;
printf("the next number:",rn);
n=n-1;
}
}
//实现rand()的函数
rand()
{...}
//以上为伪代码。好像还有问题,其实最好使用线形链表作,可惜我忘了:)