[求助]how to do
设有n个人站成一圈,每个人有不同的编号i(1≤i≤n),每个人持有密码k(k是一个正整数)。一开始,以编号为1的人所持密码k为报数上限,从编号为1的人开始按顺时针方向“1,2,3,…,k”循环报数,数到k的人出列。出列后,将出列者所持密码作为新的k值,从出列者在顺时针方向上的下一个人重新开始报数,数到k的人又出列,如此重复进行,直到n个人都出列为止。请写一个模拟报数程序,根据n个人原始排列顺序和每个人所持密码,输出对应的出列顺序。
[基本要求]
(1)在顺序表上模拟报数过程;每个人所持密码由随机函数产生;n个人的出列顺序直到整个报数过程结束时才输出。
(2)以循环链表为存储结构,模拟报数过程;从键盘上输入每个人所持的密码;按出列顺序输出报数者的编号和密码。