1、C+快乐编程小学C+创意编程实例(课件)Hi,Pythonlist,tuple,dictionary老鹰捉小鸡游戏库函数剪刀石头布游戏自定义函数古老汉诺塔游戏函数的声明和调用 体育课上,皮皮鲁与小伙伴玩老鹰捉小鸡的游。皮皮鲁的小伙伴,一共有6位小朋友,按1至6号进行编号,从中随机选择一位当老鹰。皮皮鲁准备编程调用随机函数rand(),产生一个机随数,随机数是几,就让几号小朋友来当老鹰。C+函数有两种,一种是库函数,一种是自己编写的函数。常见的库函数有随机函数rand()、时间函数time()等。在编程时,这些函数不需要自己定义和编写,如果想使用这些库函数,必须在文件开头“包含”有关头文件即可,
2、本题中需要添加的头文件是和。1理解题意理解题意2问题思考问题思考3思路分析思路分析本题,其思路如下:第一步:使用srand(time(0)函数,获取当前系统时间,设置随机数种子;第二步:调用随机函数rand()产生一个16之间的随机数;第三步:输出随机数n。1英汉字典英汉字典main men 主要的;重要的 void vd 空的;无参数;无返回值;无类型2库函数的使用库函数的使用在程序设计中,常常将一些常用的功能模块编写成函数放在C+库中,叫库函数。C+常用库中提供了大量的可以调用的库函数,如数学运算的、文件操作的等,在编写程序的过程中,可以直接拿来使用。格式如下:1编写代码编写代码2测试程序
3、测试程序运行结果:第1次运行产生随机数为:第2次运行产生随机数为:第3次运行产生随机数为:2程序解决程序解决3易犯错误易犯错误一般情况下,rand()和srand()要一起使用,其中srand()用来初始化随机数种子,rand()用来产生随机数。time()函数用来获取系统时间,因为每次运行程序的时间是不相同的,所以产生的随机数也是不一样的。一般情况下,rand()和srand()要一起使用,其中srand()用来初始化随机数种子,rand()用来产生随机数。time()函数用来获取系统时间,因为每次运行程序的时间是不相同的,所以产生的随机数也是不一样的。4拓展应用拓展应用默认情况下随机数种子
4、为1,而相同的随机数种子产生的随机数是一样的,失去了随机性的意义,所以为使每次得到的随机数不一样,用函数srand()初始化随机数种子。srand()的参数是time函数的值(即当前时间),因为两次调用rand()函数的时间通常是不同的,这样就可以保证随机性了。如产生10个1100之间的随机数可以这样写:#include#include /调用rand()和srand()函数#include /调用time()函数 using namespace std;int main()int i,n;srand(time(0);for(i=0;i10;i+)n=rand()%100+1;coutnend
5、l;每个C程序都至少有一个函数,即主函数main()。每个程序可以包含若干个其他函数,但有且只有一个main函数。程序总是从main函数开始执行,在程序执行时main函数可以调用其他函数,其他函数也可以互相调用,但其他函数不能调用main函数。1主函数主函数2常用数学函数常用数学函数 编写程序时,如果需要解决一些数学问题,此时千万不要着急先去写代码,C+库中提供了很多数学函数,随时可以调用,这些库函数多包含中库中。1阅读程序写结果阅读程序写结果输入:5 输入:-8 输出:输出:2修改程序修改程序错误1:错误2:下面这段代码是求一个实数的平方根,其中有2处错误,快来改正吧!3完善程序完善程序传说
6、古代的叙拉古国王海伦二世发现一个公式,利用三角形的三条边长可以用来求取三角形面积。已知ABC中的三边长分别为a,b,c,求ABC的面积(提示:海伦公式如下,其中p=(a+b+c)/2)。)()(cpbpapps4编写程序编写程序 班级联欢会上要举行抽奖活动,全班50名同学每人都拿到了1个抽奖号,试编写程序实现随机抽奖活动,每次抽出5位幸运同学。剪刀石头布,是一种非常简单而有趣的小游戏,游戏规则很简单,通过剪刀,石头,布三种手势判断胜负,即剪刀胜布,布胜石头,石头胜剪刀。现在,需要你编写一个程序,判断人与电脑进行剪刀石头布游戏的结果。这是一个猜拳游戏(剪刀胜布,布胜石头,石头胜剪刀),人与电脑对
7、决。人出的拳由自己决定,电脑则随机出拳,最后判断胜负。1理解题意理解题意2问题思考问题思考3算法算法分析分析本题可通过自定义不同的函数来实现特定的功能,思路如下:第一步:定义一个玩家出拳函数void player(int a);第二步:定义电脑出拳函数int computer();第三步:定义判断输赢函数 void pd(int x,int n)。1函数的定义函数的定义当C+提供给我们的标准函数不能满足需要时,没关系,我们也可以自己编写函数的。在C+语言中,函数是由函数头和函数体组成,每个组成部分都有着不同的作用。函数定义的一般格式如下:函数定义函数定义的说明的说明(1)返回值类型函数的数据类
8、型是函数的返回值类型,可能是int、double、char等,若数据类型为void,则无返回值。(2)函数名函数名是函数的实际名称。一个程序中除了主函数必须为main外,其余函数的名称按照变量的取名规则命名,最好取有助于记忆的名字。(3)形式参数形式参数(简称形参)表可以是空的(即无参函数);也可以有多个形参,形参间用逗号隔开,不管有无参数,函数名后的圆括号都必须有。(4)函数主体函数主体包含一组定义函数执行任务的语句。函数体内的语句决定该函数功能。函数体实际上是一个复合语句,它可以没有任何类型说明,而只有语句,也可以两者都没有,即空函数。1编写代码编写代码测试程序测试程序 3程序解决程序解决
9、4易犯错误易犯错误首先,我们需要定义3个函数来完成玩家出拳(player)、电脑出拳头(computer)和比较判断(pd)结果。然后给出文字提示,让玩家输入对应的数字代表玩家出拳。玩家出拳结束,电脑开始出拳,电脑通过产生随机数来出拳。剪刀石头布游戏规则很简单,即剪刀胜布,布胜石头,石头胜剪刀。如果x代表人出拳,n代表电脑出拳,1代表剪刀,2代表石头,3代表布,则通过以下逻辑表达式,判断人和电脑对决输赢的结果。5程序改进程序改进想一想,为了避免玩一次游戏就退出程序,可以将主程序代码放在循环中,while(1)条件一直成立,这样可以一直不断在玩,添加如下所示代码。int main()while(1)cout剪刀石头布开始nendl;cout请选择:1.剪刀 2.石头 3.布x;player(x);n=computer();pd(x,n);6拓展应用拓展应用在本程序末尾还可以添加用于统计整个战况的代码,如cout战况:赢:y次 输:s次 平:p次=4。Hi,Pythonlist,tuple,dictionary