vlambda博客
学习文章列表

适合刚刚学习编程的萌新:C语言编程学习制作超简单又好玩的报数游戏!

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){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语言/C++编程学习基地!

还有(源码,零基础教程,项目实战教学视频)

【进入领取】!