C语言编程学习制作最好玩的报数游戏

C语言是面向过程的,而C++是面向对象的C和C++的区别:C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。

C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。

在这里插入图片描述

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

小编推荐一个学C语言/C++的学习裙【 玖四捌,玖伍四,四捌四 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!虽然刚开始很讨厌教官,为什么训练的时候这么严厉,一个个都累的要死,但是当军训快结束的时候大家反而都挺舍不得的了,人就是这么奇怪的动物,(顺带默默地怀念一下以前的教官)。

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

在这里插入图片描述

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

玩法呢,就如上面解说的一样,输入玩这个游戏的人数和报到数,然后程序就会计算出每轮所淘汰的那个人,最终留下幸存者(这人肯定运气好,去买注彩票也是极好的)!
在这里插入图片描述
下面看代码吧:/以循环队列的数据结构实现时间复杂度T(n)采用循环队列数据结构,使得每次对数组的访问次数减少到最少
/#include#includeint main(){int i = 0, num = 1, die = 0, front, rear, temp = 0;while (num != 0){printf(" 输入人数,小于零退出:");scanf("%d", &num);printf(" 输入报到数:");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)

在这里插入图片描述

小编推荐一个学C语言/C++的学习裙【玖四捌,玖伍四,四捌四】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

{temp = (rear + 1) % (num + 1);cycle[temp] = cycle[front];front = (front + 1) % (num + 1);if (i == die){i = 1;printf("%d出队 ", cycle[temp]);}else{i++;rear = (rear + 1) % (num + 1);cycle[rear] = cycle[temp];}}printf("幸存者是%d ", cycle[front]);free(cycle);num = 0;}return 0;}

在这里插入图片描述

小编推荐一个学C语言/C++的学习裙【玖四捌,玖伍四,四捌四】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

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

这些是C/C++能做的服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42743471/article/details/85108346