c语言作业 出圈游戏.docx

上传人:b****6 文档编号:8382185 上传时间:2023-01-30 格式:DOCX 页数:9 大小:15.94KB
下载 相关 举报
c语言作业 出圈游戏.docx_第1页
第1页 / 共9页
c语言作业 出圈游戏.docx_第2页
第2页 / 共9页
c语言作业 出圈游戏.docx_第3页
第3页 / 共9页
c语言作业 出圈游戏.docx_第4页
第4页 / 共9页
c语言作业 出圈游戏.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

c语言作业 出圈游戏.docx

《c语言作业 出圈游戏.docx》由会员分享,可在线阅读,更多相关《c语言作业 出圈游戏.docx(9页珍藏版)》请在冰豆网上搜索。

c语言作业 出圈游戏.docx

c语言作业出圈游戏

#include//头函数

#include

#include

#defineSIZE100

structSeqList{

intnum;

charname[10];

};

intmenu_select();//函数声明部分

voidJoseph1();

voidJoseph2();

voidJoseph3();

voidJoseph4();

voidJoseph(structSeqList*p,intlength);

voidmain()//主要程序段

{

printf("╭───────────────────────╮\n");

printf("║出圈游戏!

║\n");

printf("╰───────────────────────╯\n");

for(;;){

switch(menu_select()){//菜单的选择

case1:

printf("假设有人数为n个人的一个小组,他们按顺时针方向围坐一圈。

\n一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向从1开始顺序报数,报到m时停止报数。

\n报数m的人出列,然后从他原来所在的顺时针方向的下一个人开始重新从1报数,报到m时停止报数,并出列。

\n如此下去,直至所有人全部出列为止。

\n要求按他们出列的顺序输出他们原来的代号。

\n");

break;

case2:

Joseph1();

break;

case3:

Joseph2();

break;

case4:

Joseph3();

break;

case5:

Joseph4();

break;

case6:

printf("╭───────╮\n");//小组的成员名单

printf("║小组成员列表:

║\n");

printf("║方勇徐灵琳║\n");

printf("║赵雄彬应邦诺║\n");

printf("║叶兰鸿彭黎明║\n");

printf("╰───────╯\n");

printf("谢谢使用!

O(∩_∩)O~~\n");

exit(0);//退出该程序

}

system("pause");

system("cls");

}

}

intmenu_select()//菜单函数

{

intcn;

printf("出圈游戏菜单目录:

\n");//菜单列表

printf("╭───────────╮\n");

printf("║1.出圈游戏题目║\n");

printf("║2.第一种方法║\n");

printf("║3.第二种方法║\n");

printf("║4.第三种方法║\n");

printf("║5.第四种方法║\n");

printf("║6.退出║\n");

printf("╰───────────╯\n");

printf("输入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;

printf("请输入参加游戏的人数:

");

scanf("%d",&n);

for(i=0;i

{

num[i]=i+1;

}

printf("请输入间隔数:

");

scanf("%d",&m);

printf("出圈的顺序如下:

\n");

i=-1;

for(k=1;k<=n;k++)

{

j=0;

while(j

{

i++;

if(i==n)

i=0;

if(num[i]!

=0)

j++;

}

printf("%d",num[i]);

printf("");

num[i]=0;

}

printf("\n");

}

voidJoseph2()

{

charnum[SIZE][SIZE];

inti=0,n,m=0,j=0,k=0;

intlength=0;

chars[SIZE];

printf("请输入参加游戏的人数:

\n");

scanf("%d",&n);

printf("请输入间隔数:

\n");

scanf("%d",&m);

printf("请输入游戏者名字:

\n");

getchar();

for(i=0;i

{

printf("第%d个人的名字:

",i+1);

gets(s);

strcpy(num[i],s);

}

printf("出圈的顺序如下:

\n");

i=-1;

for(k=1;k<=n;k++)

{

j=0;

while(j

{

i++;

if(i==n)

i=0;

if(num[i][0]!

='0')

j++;

}

printf("%s",num[i]);

printf("");

num[i][0]='0';

}

printf("\n");

}

voidJoseph3()

{

inti=0,m=0,j=0,k=0;

int*p;

intlength=0;

printf("请输入准备参加游戏的人数:

");

scanf("%d",&length);

p=(int*)malloc(length*sizeof(int));

if(p==NULL)

{

printf("内存分配错误");

exit

(1);

}

for(i=0;i

{

*(p+i)=i+1;

}

printf("请输入间隔数:

");

scanf("%d",&m);

printf("出圈的顺序如下:

\n");

i=-1;

for(k=1;k<=length;k++)

{

j=0;

while(j

{

i++;

if(i==length)

i=0;

if(*(p+i)!

=0)

j++;

}

if(k==length)

break;

printf("%d",*(p+i));

printf(",");

*(p+i)=0;

}

printf("%d",*(p+i));

printf("\n");

free(p);

}

voidJoseph4()

{

structSeqList*p;

intlength=0;

printf("请输入准备参加游戏的人数:

");

scanf("%d",&length);

p=(structSeqList*)malloc(length*sizeof(structSeqList));

if(p==NULL)

{

printf("内存分配错误");

exit

(1);

}

Joseph(p,length);

}

voidJoseph(structSeqList*p,intlength)

{

intm;

intj,k;

chars[10];

inti;

printf("请输入间隔数m(m<=20):

");

scanf("%d",&m);

while(m>20)

{

printf("太大,请重新指定间隔数m(m<=20)");

scanf("%d",&m);

}

printf("请输入游戏者名字:

\n");

getchar();

for(i=0;i

{

printf("第%d个人的名字:

",i+1);

gets(s);

strcpy((p+i)->name,s);

(p+i)->num=i+1;

}

printf("出圈的顺序如下:

");

i=-1;

for(k=1;k<=length;k++)

{

j=0;

while(j

{

i++;

if(i==length)

i=0;

if((p+i)->num!

=0)

j++;

}

if(k==length)

break;

printf("%s",(p+i)->name);

printf(",");

(p+i)->num=0;

}

printf("%s",(p+i)->name);

printf("\n");

free(p);

}

 

海藻肥TWfZZvj8Y33n

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1