c语言作业 出圈游戏文档格式.docx
《c语言作业 出圈游戏文档格式.docx》由会员分享,可在线阅读,更多相关《c语言作业 出圈游戏文档格式.docx(9页珍藏版)》请在冰豆网上搜索。
printf("
╭───────────────────────╮\n"
);
║出圈游戏!
!
║\n"
╰───────────────────────╯\n"
for(;
;
){
switch(menu_select()){//菜单的选择
case1:
printf("
假设有人数为n个人的一个小组,他们按顺时针方向围坐一圈。
\n一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向从1开始顺序报数,报到m时停止报数。
\n报数m的人出列,然后从他原来所在的顺时针方向的下一个人开始重新从1报数,报到m时停止报数,并出列。
\n如此下去,直至所有人全部出列为止。
\n要求按他们出列的顺序输出他们原来的代号。
\n"
break;
case2:
Joseph1();
case3:
Joseph2();
case4:
Joseph3();
case5:
Joseph4();
case6:
╭───────╮\n"
//小组的成员名单
║小组成员列表:
║\n"
║方勇徐灵琳║\n"
║赵雄彬应邦诺║\n"
║叶兰鸿彭黎明║\n"
╰───────╯\n"
谢谢使用!
O(∩_∩)O~~\n"
exit(0);
//退出该程序
}
system("
pause"
cls"
}
intmenu_select()//菜单函数
intcn;
出圈游戏菜单目录:
\n"
//菜单列表
╭───────────╮\n"
║1.出圈游戏题目║\n"
║2.第一种方法║\n"
║3.第二种方法║\n"
║4.第三种方法║\n"
║5.第四种方法║\n"
║6.退出║\n"
╰───────────╯\n"
输入1-6之间的数字\n"
while
(1)//无限次循环
{
scanf("
%d"
&
cn);
if(cn>
0||cn<
7)//要求输入数字为1-9之间
returncn;
break;
//输入正确跳出循环
else
{printf("
输入错误!
请重新输入!
"
continue;
}//输入错误,退出本次循环,重新输入
}
voidJoseph1()
intnum[SIZE];
inti=0,m=0,j=0,k=0,n;
请输入参加游戏的人数:
n);
for(i=0;
i<
n;
i++)
num[i]=i+1;
请输入间隔数:
m);
出圈的顺序如下:
i=-1;
for(k=1;
k<
=n;
k++)
j=0;
while(j<
m)
{
i++;
if(i==n)
i=0;
if(num[i]!
=0)
j++;
printf("
num[i]);
"
num[i]=0;
voidJoseph2()
charnum[SIZE][SIZE];
inti=0,n,m=0,j=0,k=0;
intlength=0;
chars[SIZE];
请输入参加游戏的人数:
请输入间隔数:
请输入游戏者名字:
getchar();
第%d个人的名字:
i+1);
gets(s);
strcpy(num[i],s);
出圈的顺序如下:
if(num[i][0]!
='
0'
)
%s"
num[i][0]='
voidJoseph3()
inti=0,m=0,j=0,k=0;
int*p;
请输入准备参加游戏的人数:
length);
p=(int*)malloc(length*sizeof(int));
if(p==NULL)
内存分配错误"
exit
(1);
length;
*(p+i)=i+1;
=length;
if(i==length)
if(*(p+i)!
if(k==length)
*(p+i));
"
*(p+i)=0;
free(p);
voidJoseph4()
structSeqList*p;
请输入准备参加游戏的人数:
p=(structSeqList*)malloc(length*sizeof(structSeqList));
Joseph(p,length);
voidJoseph(structSeqList*p,intlength)
intm;
intj,k;
chars[10];
inti;
请输入间隔数m(m<
=20):
while(m>
20)
太大,请重新指定间隔数m(m<
=20)"
scanf("
第%d个人的名字:
strcpy((p+i)->
name,s);
(p+i)->
num=i+1;
if((p+i)->
num!
(p+i)->
name);
(p+i)->
num=0;
海藻肥TWfZZvj8Y33n