范文一:龟兔赛跑
龟兔赛跑
乌龟与兔子赛跑,跑道是一个矩形,跑道边可以进行休息。乌龟每分钟前进 3米,兔子 每分钟前进 9米;兔子嫌弃乌龟跑得慢,每 10分钟就回来看一下乌龟,如果乌龟比自己跑 得慢她就停下来休息 30分钟,否则继续跑 10分钟。而乌龟一直跑 . 乌龟和兔子同一起点出 发,请问 t 分钟后乌龟和兔子谁跑得快。
#include int main() { long int t, f,s1,s2,n; f=0;s1=0;s2=0; scanf( if(n==0) printf( else { for(t=1;t<> { s1=s1+3; if(f--<=0) s2="">=0)> while (t%10==0&&f<> { if(s1 else f=0; } } if(s1==s2) printf( if(s1<=s2)>=s2)> if(s1>=s2) printf( } return 0; } 如果硬要说兔子有什么长处的话,那就是跑步了。但动物王国里跑步健将多的是,和别的很多动物相比兔子只能算是小巫见大巫了。可是动物王国的族类们更知道,兔子是国王的一个远房亲戚,怎么着,也得让这皇亲国戚有一技之长啊。大家一商量,还是决定让兔子在田径场上一显身手。组织这场比赛的人也知道他有几斤几两,也就在制定比赛规则的时候充分照顾到他。赛跑高手们纷纷报名参赛,形势对兔子越来越不利,似乎要变成动物王国的真正比赛了。组委会想这事要糟,灵机一动,就想干脆把事情搞得更大一点,发出邀请函,请乌龟呀、螃蟹呀之类的都来参赛。根据参赛动物的情况,组委会决定实行小组淘汰赛。羚羊、猎豹、梅花鹿、鸵鸟、蜗牛等为一组,兔子、乌龟、蚂蚁、螃蟹等为一组。组委会的意思,按照兔子的实际情况,是稳可获小组第一名的,然后让两组的第一名决出冠亚军,兔子获得亚军应该是没问题的。为了表现兔子的跑技,还特意把赛场设在一座山上,起点在山脚,终点在山上。大家知道,兔子前腿短后腿长,爬坡最是厉害。 两组比赛下来,一组的猎豹跑了第一,另一组的冠军却是乌龟! 你道何以会这样?有人说是兔子骄傲自满,大意失荆州。实际上,大家一看兔子的双眼就明白了。兔子本是一浪荡子弟,终日寻花问柳,打牌掷骰,天长日久,一双眼睛熬得通红。兔子的嘴巴缺了个口,成了三瓣,据说是和一伙混混儿争一风尘女子留下的纪念。比赛前的那天夜里,兔子又搓了一夜的麻将。早上想睡觉,又遇见乌鸦来报信,叫快去比赛,兔子只好赶到比赛地点。一声枪响,兔子箭一般地冲上前去。到了中途,早把对手甩在了后面。怎料睡意涌了上来,脑子里昏昏沉沉,只得倒在旁边的草丛里睡了起来。一觉醒来,已是日落西山,对手们早到了终点。乌龟得了第一,螃蟹得了第二。 且说兔子垂头丧气,下得山来,把个组委会主席老黄牛气得额头冒烟。气归气,总得找个补救措施。先是封锁现场,防止消息外泄,然后策划第二场比赛。可是没有不透风的墙,特别是由于赛前为了引起轰动效应,组委会通知各大媒体来采访,一些消息已经传出去了。老黄牛马上举行记者招待会,解释兔子失利并非和报上某些人说的那样是因为“骄傲自满”和“打麻将熬夜”,而是因为给所在社区的一些居民解决问题通宵未眠所至(兔子是居民委员会主任)。并且由于兔子的这种克己奉公的影响了他的比赛成绩,组委会决定取消小组这一场的比赛结果,重新比赛。 消息在报上登出来,气得乌龟卧床不起。想当初自己就没想过要去参加比赛,更没想过要拿什么奖,都是那组委会的老黄牛硬逼的。现在得了奖,却又莫名其妙的打了水漂。更气人的是组委会居然又来了强制性的通知,要他重新比赛。明知乌龟有病在身却还要他去参加比赛,这不仅是拿他当猴耍,简直就是欺人太甚!但兔子是皇亲,得罪不得,因此龟妈妈只得备了一份厚礼到老黄牛那里去求情,希望不要让儿子参加比赛了。老黄牛灵机一动,计上心来,说:“比赛已经决定,更改不了。不过这样吧,你儿子有病,可以不参加比赛,别的乌龟都可以参加啊――干脆这样吧,有多少乌龟参加都可以,兔子这方只出动一只――这样胜了你们,应该心服口服吧。”龟妈妈再笨,也知道这次是在疾难逃了。想这老黄牛真奸猾得可以,一只乌龟和一百只乌龟,跑起来还不是一样的吗?兔子明着是吃了亏,其实并没有。这,明明是为了达到自己的目的而欺负乌龟嘛。 坏消息传来,乌龟们都垂头丧气。这时一只最聪明的乌龟说:“我有个办法,可以让老黄牛的计谋不能得逞,让兔子败得一塌糊涂。我们在起点、沿途和终点布置上百只乌龟,――反正乌龟都是一个样,他们是认不出来的。这样兔子再快,也不是我们的对手了。”众龟大喜。 新一轮比赛开始了。这次兔子作好了准备,暂时戒了色与赌,睡了一晚好觉,便跑了起来。他明明把乌龟甩在了后面,却又老看见在前面跑着。结果,自然又是乌龟胜了。组委会再不要脸,也得给乌龟发了第一名的奖状。但消息只能内部知道,新闻界禁止发布。 后来龟兔又举行了一些比赛,兔子依旧没捞到什么便宜。因为兔子没拿到第一,总决赛就失去了意义,乌龟和猎豹决赛的事情组委会也就不再安排。这场动物王国轰轰烈烈的赛事似乎就以虎头蛇尾而告终。 组委会的计划竹篮打水一场空,不仅坏了兔子的名声,主席老黄牛还被官降一级。老黄牛闭门思过,终于想出了一绝招。 笔的分量,当世莫有与之争者。老黄牛找到此君,行贿若干,让其虚构一新闻,大意是乌龟和兔子又进行了一次赛跑。这次乌龟认为自己稳操胜券,因此叼着大烟斗大摇大摆不把兔子放在眼里,想着兔子还会睡觉呢。而兔子几下就跑到了目的地。那时的兔子才走了几步呢。 第二天,全国各大报纸的头版头条都刊登了兔子夺得冠军的消息,消息旁边还配了幅颇具教育意义的漫画。陡然间,兔子的名声直线上升。为了配合各路记者的跟踪采访,兔子到制假窝点买了一块金牌和一本荣 The Rabbit and the Turtle. One day, a turtle is crawling. A rabbit sees the turtle and it asks the turtle: “Hi, turtle. What are you doing?” “ I am running. ” the turtle says. “ Haha, you are running? How slowly! Let’ s have a race. Let’ s see who runs faster.” the rabbit laughs at the turtle. “ OK. I believe I will beat you.” the turtle answers. The next day is a sunny day. The turtle and the rabbit are ready for the race. Many animals are watching. “ Three, two, one. Go !” the bird says. The rabbit and the turtle run to the end. The rabbit runs very fast. The turtle is crawling with a slow but steady pace to the goal. The rabbit runs to a tree. It sees the turtle is behind and it thinks : “ The turtle is very slow. I can sleep for a while under the tree.” So the rabbit lies down and falls asleep. When the turtle crawls to the tree, it sees the rabbit is sleeping and it doesn’ t stop. It keeps crawling. Finally, the turtle gets to the end and it is very happy. Just then, the rabbit wakes up and it thinks the turtle is still behind. So the rabbit goes on to run. When the rabbit gets to the end, it sees the turtle there. “ Haha, I win!” the turtle says. The rabbit is very sad and ashamed. The story tells us only if you stick to it, can you achieve your goal. That ’ s all for my speech. Thank you for your listening. Visual Basic课程设计 说明书 题 目:龟兔赛跑游戏开发 姓 名:**** 学 号:*********** 指导教师:******* 综合成绩: 2012年 10月 1 设计目的 编写一款龟兔赛跑游戏, 两个用户通过键盘控制比赛对象 (龟和兔) 进行赛 跑比赛,且用户的按键是互不干扰的,谁最早跑到终点谁就获胜。先设计界面, 其中 “龟” 和 “兔” 的图标可以通过 Image 图像控件来显示, “ 跑道” 可由 PictureBox 图片框控件担当。 Image 控件在 PictureBox 控件上移动产生运动效果。用 Timer 定时器控件来表示龟兔赛跑的时间。程序需要处理 KeyDown 等键盘事件。 2 软件功能介绍 (1)程序参考界面如图 1所示,开始时“龟”和“兔”分别位于两条跑道 的起点。使用鼠标单击“狐狸” (裁判)按钮,该按钮右面闪烁 3次“预备”字 样 , 然 后 显 示 “ 开 始 ” 进 入 比 赛 状 态 。 (2)赛跑开始后,用户 1轮流按“ a ”和“ s ”键,用户 2轮流按“; ”和 “ ‘” (单引号)键,分别使龟兔沿着跑道向右前进。每按两次键才能使图标移动 一次,按键越快,相应的图标就跑的越快。计时牌显示各自所用时间,如图 2所 示 。 当两个动物都到达终点时,显示谁是胜者,如图 3所示。游戏过程中,通过 “ 游 戏 速 度 ” 滚 动 条 可 调 节 动 物 每 前 进 一 步 的 距 离 。 (3) 游戏在进入预备状态之前, 按键是不能使两个动物移动的; 在 “预备” 按钮状态时(即在起跑之前) ,若按键移动动物程序认为是抢跑,显示如 4所示 的 信 息 , 必 须 重 新 开 始 游 戏 。 (4)程序使用了图 5所示的菜单。选择“开局”命令使程序全部归位并重 新 开 始 。 “ 自 述 文 件 ” 菜 单 命 令 用 “ 记 事 本 ” 程 序 打 开 并 显 示 说 明 文 件 (Readme.txt ) 。 3 模块及内部控件列表 4 源程序清单列表 Public i As Integer, m As Integer, n As Integer, k As Integer Private Sub Command1_Click() Label1.Caption = HScroll1.Value = 80 Text2.Text = Text1.Text = Timer2.Enabled = False Timer3.Enabled = False n = 0 k = 0 p3.Left = 0 p4.Left = 0 i = 1 Timer1.Enabled = True End Sub Private Sub a1_Click() Command1_Click ' 调用下拉菜单的“开始” ,使软件运行 End Sub Private Sub a2_Click() End ' 调用下拉菜单的“退出” ,退出运行界面 End Sub Private Sub b1_Click() Shell End Sub Private Sub b2_Click() MsgBox End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) ' 调用键 盘 Dim j As Integer j = HScroll1.Value Static blin1 As Boolean Static blin2 As Boolean If KeyCode = vbKeyA Or KeyCode = vbKeyS Then If i < 8=""> Text2.Text = MsgBox Text2.Text = Text1.Text = n = 0 k = 0 i = 1 Exit Sub End If End If If blin1 = False And i = 8 Then If KeyCode = vbKeyA Then p3.Left = p3.Left + j blin1 = Not blin1 blin2 = Not blin2 End If End If If blin2 = True And i = 8 Then If KeyCode = vbKeyS Then p3.Left = p3.Left + j blin2 = Not blin2 blin1 = Not blin1 ' 必须两按键都按才会使得图片移动 End If End If Static blin3 As Boolean Static blin4 As Boolean If KeyCode = 222 Or KeyCode = 186 Then If i < 8=""> Text2.Text = MsgBox i = 1 Text2.Text = n = 0 k = 0 Exit Sub End If End If If blin3 = False And i = 8 Then If KeyCode = 186 Then p4.Left = p4.Left + j blin3 = Not blin3 blin4 = Not blin4 End If End If If blin4 = True And i = 8 Then If KeyCode = 222 Then p4.Left = p4.Left + j blin4 = Not blin4 blin3 = Not blin3 End If End If If p3.Left >= p1.Width - p3.Width Then Timer3.Enabled = False p3.Left = p1.Width - p3.Width ' 图片到达 PictureBox 的右端时, 停止计时 End If If p4.Left >= p2.Width - p4.Width Then Timer2.Enabled = False p4.Left = p2.Width - p4.Width End If If p3.Left >= p1.Width - p3.Width And p4.Left >= p2.Width - p4.Width Then If n > k Then '比较两 Text 文本的时间 MsgBox Label1.Visible = False Timer2.Enabled = False Timer3.Enabled = False k = 0 n = 0 Text1.Text = Text2.Text = p3.Left = 0 p4.Left = 0 End If If k > n Then MsgBox Timer2.Enabled = False Timer3.Enabled = False k = 0 n = 0 Text1.Text = Text2.Text = p3.Left = 0 p4.Left = 0 End If End If End Sub Private Sub Timer1_Timer() Static blins As Boolean Label1.Visible = blins i = i + 1 blins = Not blins If i = 8 Then Beep ' 显示“开始! ”时,同时发出提示音 Label1.Caption = Label1.Visible = True Timer2.Enabled = True Timer3.Enabled = True Timer1.Enabled = False End If End Sub Private Sub Timer3_Timer() n = n + 1 n0 = n Mod 60 ' 计时器的“秒” n1 = (n \ 60) Mod 60 ' 计时器的“分” n2 = ((n \ 60) \ 60) Mod 60 ' 计时器的“时” Text1.Text = Right(( Private Sub Timer2_Timer() k = k + 1 k0 = k Mod 60 k1 = (k \ 60) Mod 60 k2 = ((k \ 60) \ 60) Mod 60 Text2.Text = Right(( End Sub 5 程序分析 参考程序中两个用户的按键是互不干扰的,即只要用户 1连续按了“ a ”和 “ s ”键, “兔”就会前进一步。该游戏必须两按键都按才会使得图片向前移动, 否则就不会触动图片的移动事件, 这就要求参赛者的手速要快。 同时这程序也有 防抢跑的功能,从而保证比赛的公正性,而且,这也考验了参赛者的反应能力, 能在开始后最快的做出反应。 该游戏要求必须两参赛者都到达终点才会有结果出 现,这就考验了参与者的坚持精神,我想这种设计是有益的。 当然, 我们的设计还有不足的, 首先是我觉得我们的游戏还可以再有益智性 一点, 可以让两参赛者的按键产生干扰, 这样就更考验他们的手速了, 游戏更具 挑战性, 更能体现按钮速度越快胜利的可能性越大, 也会更有趣一点。 还有就是 在一位选手快到终点, 或者二者差距过大时, 我们可以在界面上显示一些提示文 字, 或者一些加油鼓劲的话来激励参赛者。 同时, 我们可以细分一下速度, 并且, 做一个最好记录的保存。 当一个参赛者到达终点时, 他的时间控件就停止运行并 且记录下来跟以后的进行比较,做成排行榜样式。 6 程序设计心的 为期两周的 vb 课程设计很快就结束了,通过对此程序的编写,相当于对本 学期所学部分内容进行了一次总结, 在这段时间里我锻炼了发现, 解决实际问题 的能力。学会了自主学习,自我提高和自我完善,学以致用。 我认为作为学习程序设计最重要的一点是要注重理解一些重要的概念。 VB 程序设计本身并不复杂 , 翻开一本程序设计学习的书籍 , 看到的无非就是变量 , 函 数 , 条件语句 , 循环语句等概念。但要真正能进行程序设计 , 需要深入理解这些概 念。 其次,自己动手编写程序。程序设计入门阶段要经常自己动手抄写或编写 一些小程序 , 亲自动手进行程序设计是创造性思维应用的体现 , 是培养逻辑思维 的好方法。 因此一定要多动手编写程序 , 而且要从小程序开发开始 , 逐渐提高写 程序的能力。 只有不断的从自己的程序中积累经验, 从中进步, 才能写出好的程 序。 这道课程设计花了我们一到两周的时间, 几人合作, 老师的帮忙才完成。 刚 开始, 可以说是没有头绪, 于是就去图书馆找资料, 找到了一些关于画图方面的, 可是这点小进展远远不够, 这只是一个小小的开始。 下一步是上网查, 找到了些 与我们题目相似的。 系统开发中也遇到了不少问题, 开始时数据库虽然组建好了, 但是一直连接不上, 参考了教材才解决了这个问题。 该系统存在一定的局限性和 缺点,其中的一个没有解决的问题是:在运行程序时,虽然界面上有速度调节, 但在调节时运行不起来。 程序需要处理 KeyDown 等键盘事件。 因为多个控件具有 KeyDown 事件,必须使用 SetFocus 方法和 LostFocus 事件将输入焦点锁定在某 个控件上,编写这个控件的 KeyDown 事件过程即可。 虽然本系统比较简单, 但是还是花了不少时间和功夫, 为了完成这个系统, 也学到了不 少知识。 看来多动手还是很重要的, 书本上的知识不运用到实际情况也只能是一纸空文。 课 程设计让我们学习与实践相结合提高了我们对书本知识的理解和运用能力, 锻炼了我的学习 能力,在今后的学习中还要继续加强自相互学习与实践的能力。 7 参考资料 [1]《 Visual Basic程序设计教程》牛又奇、孙建国 苏州大学出版社 2010年 版 [2]《 Visual Basic 程序设计教程》 (6.0版)龚沛曾、陆慰民、杨志强 北京高 等教育出版社 2001年版 [3]《 Visual Basic6.0基础与应用》周丰治 高等教育出版社 2001年版 [4]《 Visual Basic6.0程序设计教程》 (第二版)罗朝盛 北京人民邮电出版社 2005年版 [5]《算法与程序设计》陶增乐 浙江教育出版社 2007年 6月 龟兔赛跑 一天下午, 阳光明媚, 老婆又跟女儿讲乌龟和兔子赛跑的故事。妈妈问:窈窈,你说兔子为什么会输给乌龟?窈窈:因为它睡觉。妈妈:对,太对了,应该怎样它才不会睡觉呢?我抢答说:把乌龟换成狼。 第一次比赛说明了勤奋比天资重要,想成功必须要非常勤奋。 我在旁边没事乱琢磨,兔子与乌龟赛跑的故事版本很多, 没有一次赢得过乌龟, 还真惨啊。 话说兔子不认输,它又去找乌龟比赛。 第二次,它们是在操场上比赛。但是一开始,兔子就输了。为什么?因为兔子朝相反的方向跑去了。 这说明了方向比努力重要,方向不对,努力白费。想成功必须要先选对方向。 兔子还是不认输,它又去找乌龟比赛。 第三次,它们是在草地上比赛。跑着,跑着,兔子不见了,乌龟赢了。为什么?因为兔子掉在泥潭里去了。 这说明了,想成功必须要善于发现陷阱和避开陷阱。天上不一定掉馅饼,但地上常常有陷阱。 兔子还是不认输,它又去找乌龟比赛。 第四次,它们是在山坡上比赛。兔子拼命跑啊,跑啊,但是,它还是输了。为什么,因为乌龟是滚下山的,当然更快些。 这说明了,想成功必须善于利用自己的优势。发挥优点比改正缺点,更容易成功。 兔子还是不认输,它又去找乌龟比赛。 第五次,它们是在高速公路上比赛。兔子拼命地跑,不停地跑,还是输了。为什么?因为乌龟在路边一招手,打的去了。 这说明了,要成功必须善于整合资源。 兔子还是不认输,它又去找乌龟比赛。 第六次,它们又回来操场上比赛。这回兔子跑得飞快,就到终点了,突然,兔子看到前面挂着一条横幅:谁是第一名,谁是龟儿子。兔子生气得不得了,不跑了。 这说明了,想成功要学会情绪管理。 兔子还是不认输,它又去找乌龟比赛。 第七次,它们还是在操场上比赛。兔子跑着跑着,快到终点了,突然感觉尾巴被什么东西咬了一下,兔子尾巴一甩,竟将乌龟甩到前面来了。原来乌龟一直咬着兔子的尾巴奔跑,快到终点时,死命咬了兔子一口。 这说明了,要成功必须善于利用竞争对手的力量。成功需要朋友,更大的成功需要敌人。 不过以上版本的龟兔赛跑故事对我2岁半的女儿来说太复杂了, 等她长大了, 我再慢慢讲给她听吧, 希望从这些小故事中也悟出一些有用的东西来。 范文二:龟兔赛跑
范文三:龟兔赛跑
范文四:龟兔赛跑
范文五:龟兔赛跑