首页 > 名字大全 > 游戏名字 正文
昵称报数字游戏 关于数字的昵称…

时间:2023-02-14 13:54:51 阅读: 评论: 作者:佚名

一提到报数,可能大家可能会在第一时间内想到大学军训的美好时光,严厉的教官让我们从头到尾依次的报数。

群号564950050

虽然刚开始很讨厌教官,为什么训练的时候这么严厉,一个个都累的要死,但是当军训快结束的时候大家反而都挺舍不得的了,人就是这么奇怪的动物,(顺带默默地怀念一下以前的教官)。

不扯远了,今天的报数游戏呢,和军训时候教官让我们依次的报数不一样,我们要做的报数游戏呢,是选择一些人站成一圈,从第一个开始顺时针开始报数,一圈之后之后报数停止,念出报到数的人则要出局,然后重新开始下一轮,周而复始,依次计算出每一轮谁会出局,直到剩下最后一个人为止!

群号564950050

(咳咳,素材图是我画的,没找到具体相关的图片,大家将就一下)

玩法呢,就如上面解说的一样,输入玩这个游戏的人数和报到数,然后程序就会计算出每轮所淘汰的那个人,最终留下幸存者(这人肯定运气好,去买注彩票也是极好的)!



群号564950050

下面看代码吧:

/*********************************************************************

*以循环队列的数据结构实现

*时间复杂度T(n)

*采用循环队列数据结构,使得每次对数组的访问次数减少到最少

**********************************************************************/

#include <;

#include <malloc.h>

int main()

{

int i = 0, num = 1, die = 0, front, rear, temp = 0;

while (num != 0)

{

printf("\n输入人数,小于零退出:");

scanf("%d", &num);

printf("\n输入报到数:");

scanf("%d", &die);

int *cycle = (int *)malloc((num + 1) * sizeof(int));

for (i = 0; i <= num; i++)

{

cycle[i] = i;

}

front = 1;

rear = num;

i = 1;

while (front != rear)

{

temp = (rear + 1) % (num + 1);

cycle[temp] = cycle[front];

front = (front + 1) % (num + 1);

if (i == die)

{

i = 1;

printf("%d出队\n", cycle[temp]);

}

else

{

i++;

rear = (rear + 1) % (num + 1);

cycle[rear] = cycle[temp];

}

}

printf("幸存者是%d\n", cycle[front]);

free(cycle);

num = 0;

}

return 0;

}

其实这段代码很简单,并不是很难,只是大家学习C语言之后却没有学会怎么运用所学知识的思想,也就是所谓的 “ 我能看懂程序代码是怎么运行的,可是,程序是怎么设计出来的就完全懵逼了。” 成了只会看而不会写的人!

所以说想学习编程思维的话,可以加下群564950050,群里大家一起交流学习心得。

  • 相关阅读
  • 评论列表

发表评论: