c语言新龟兔赛跑

news2024/12/24 0:05:05

以下是一个使用C语言编写的新的龟兔赛跑游戏:

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. int main() {
  5.     int distance, turtle_speed, rabbit_speed, turtle_time, rabbit_time, rabbit_lead;
  6.     srand(time(NULL)); // 随机数种子
  7.     // 初始化变量
  8.     distance = 100; // 赛跑距离为100米
  9.     turtle_speed = 1; // 乌龟速度为1米/分钟
  10.     rabbit_speed = 5; // 兔子速度为5米/分钟
  11.     turtle_time = 0; // 乌龟所用时间为0分钟
  12.     rabbit_time = 0; // 兔子所用时间为0分钟
  13.     rabbit_lead = 0; // 兔子领先距离为0米
  14.     printf("新龟兔赛跑游戏\n");
  15.     printf("赛跑距离: %d米\n", distance);
  16.     printf("乌龟速度: %d米/分钟\n", turtle_speed);
  17.     printf("兔子速度: %d米/分钟\n", rabbit_speed);
  18.     printf("开始赛跑!\n");
  19.     // 模拟赛跑过程
  20.     while (distance > 0) {
  21.         // 乌龟前进
  22.         turtle_time += 1; // 乌龟用时加1分钟
  23.         if (turtle_time == 60) { // 乌龟每60分钟走1米
  24.             turtle_time = 0;
  25.             distance--;
  26.         }
  27.         // 兔子前进
  28.         rabbit_time += 1; // 兔子用时加1分钟
  29.         if (rabbit_time == 60) { // 兔子每60分钟走5米
  30.             rabbit_time = 0;
  31.             distance -= rabbit_speed;
  32.         }
  33.         // 判断胜负
  34.         if (distance <= 0) {
  35.             break;
  36.         } else if (distance >= rabbit_speed) { // 如果兔子能够到达终点,则计算领先时间
  37.             rabbit_lead = rabbit_time + (distance / rabbit_speed) * 60 - turtle_time;
  38.         } else { // 如果兔子不能到达终点,则计算剩余距离和时间
  39.             distance -= rabbit_speed;
  40.             rabbit_lead = rabbit_time + (distance / rabbit_speed) * 60 - turtle_time;
  41.         }
  42.     }
  43.     // 输出结果
  44.     printf("赛跑结束!\n");
  45.     printf("乌龟所用时间: %d分钟\n", turtle_time);
  46.     printf("兔子所用时间: %d分钟\n", rabbit_time);
  47.     if (rabbit_lead > 0) { // 如果兔子领先,则输出领先时间,否则输出落败信息
  48.         printf("兔子领先乌龟%d分钟!\n", rabbit_lead);
  49.     } else {
  50.         printf("兔子落败!\n");
  51.     }
  52.     return 0;
  53. }

好的,以下是对该程序的进一步解释:

  1. 在程序的开始部分,我们引入了三个头文件,这些头文件提供了我们需要的一些基本功能:
  1. stdio.h:用于输入和输出操作,例如printf()scanf()函数。
    • stdlib.h:包含了一系列有用的函数和宏,例如rand()函数用于生成随机数。
    • time.h:提供了与时间相关的函数和数据类型,例如time()函数用于获取当前时间。
  1. 我们使用srand()函数初始化随机数生成器。这个函数需要一个种子值,我们使用当前时间作为种子值,这样每次运行程序时生成的随机数都会不同。
  2. 我们定义了一些变量来模拟赛跑的过程:
  1. distance:表示赛跑的距离,初始值为100米。
    • turtle_speed:表示乌龟的速度,每分钟走1米。
    • rabbit_speed:表示兔子的速度,每分钟走5米。
    • turtle_time:表示乌龟所用的时间,初始值为0分钟。
    • rabbit_time:表示兔子所用的时间,初始值为0分钟。
    • rabbit_lead:表示兔子领先的时间,初始值为0分钟。
  1. 在模拟赛跑的过程中,我们使用一个while循环来模拟乌龟和兔子前进的过程。循环条件是赛跑距离大于0米。在循环中:
  1. 乌龟每60分钟走1米,所以我们将turtle_time加1,然后判断是否走到了终点,如果走到了终点,就跳出循环。
    • 兔子每60分钟走5米,所以我们将rabbit_time加1,然后判断是否走到了终点,如果走到了终点,就计算领先时间,然后跳出循环。
  1. 最后,我们输出乌龟和兔子所用的时间以及兔子的领先时间。如果兔子领先,我们输出“兔子领先乌龟XX分钟!”,如果兔子落败,我们输出“兔子落败!”。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1245816.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

F盘满了变成红色怎么清理?这4个简单方法记得收藏!

“因为我电脑的磁盘比较多&#xff0c;我通常会把一些比较重要的文件放在F盘中。但是很奇怪&#xff0c;我的F盘用着用着就满成红色了&#xff0c;这该怎么办呢&#xff1f;应该怎么进行清理呢&#xff1f;” 我们在使用电脑时都会发现&#xff0c;电脑上有很多的磁盘。我们可以…

企业数字化转型转什么?怎么转?这份攻略请收好

目录 -01-数字化转型“是什么” -02-数据驱动推动企业数字化转型 -03-企业数字化转型的行动路线图 数字化转型&#xff0c;转什么&#xff1f;怎么转&#xff1f;这些问题仍在困扰不少企业&#xff0c;也是每个企业转型升级不得不思考的重要问题。对此&#xff0c;中关村数字…

SQL语句的用法

目录 关系统型数据库相 联系类型 数据库的正规化分析 第一范式&#xff1a;1NF 范式主要就是减产冗余 第二范式&#xff1a;2NF 第三范式&#xff1a;3NF 字符串(char,varchar,text) char和varchar的比较&#xff1a; 修饰符&#xff0c; 主键&#xff0c;唯一键 常见…

干货!ERP软件如何帮助企业实现信息化管理?

ERP即企业资源规划&#xff08;Enterprise Resource Planning&#xff09;系统&#xff0c;其核心是物料的追踪流转。而在物料追踪流转的基础上&#xff0c;又衍生出一系列各类资源计划的管理和追踪。因此ERP发展成为一款集成各类资源计划&#xff0c;也就是集成企业核心业务流…

EMG肌肉电信号处理合集(二)

本文主要展示常见的肌电信号特征的提取说明。使用python 环境下的Pysiology计算库。 目录 1 肌电信号第一次burst的振幅&#xff0c; getAFP 函数 2 肌电信号波长的标准差计算&#xff0c;getDASDV函数 3 肌电信号功率谱频率比例&#xff0c;getFR函数 4 肌电信号直方图…

视频录制怎么弄?这里有一份超全攻略!

视频录制已成为一项常见任务&#xff0c;无论是为了保存在线学习资料&#xff0c;还是为了记录游戏精彩瞬间&#xff0c;它都可以轻松实现&#xff0c;可是您知道视频录制怎么弄吗&#xff1f;本文将介绍两种视频录制的方法&#xff0c;我们将分步骤详细说明&#xff0c;让您轻…

【elementui】el-popover在列表里循环使用,取消的doClose无效解决办法

目录 一、需求效果二、代码详情html方法接口 一、需求效果 在使用elementui的Popover 弹出框时&#xff0c;需求是在table列表里使用&#xff0c;循环出来&#xff0c;无法取消。 二、代码详情 html <el-table-column v-if"checkPermission([admin,user:resetPass…

c盘爆满?别再清什么c盘了,直接卸载!

1、下载软件 联想电脑管家下载&#xff1a; GeekUninstaller 2、排序软件大小 3、卸载 4、比较 直接节省6.2G的C盘&#xff01;&#xff01;&#xff01; 5、效果

综合实力盘点高性价比还优质的云服务器:亚马逊云科技仍然领跑市场

如果说云计算是一条流向数字化未来的河流&#xff0c;那亚马逊云科技毫无疑问是航行在最前面的帆船&#xff1b;如果说云计算是一条通往数字化未来的铁轨&#xff0c;那亚马逊云科技就是行驶在最前面的高铁。接下来回首往昔&#xff0c;以史为镜&#xff0c;得出云服务器哪家便…

内衣洗衣机怎么选?性价比高的小型洗衣机推荐

在机器解放了双手的时代中&#xff0c;洗衣机走进了千家万户&#xff0c;虽然在某种程度上缓解了人们手洗衣服的压力&#xff0c;但还是有不少人选择了人工手洗自己的内衣内裤&#xff0c;甚至连袜子都是手工洗的&#xff0c;这让人很是郁闷&#xff0c;倒不是说洗衣机不方便&a…

如何将本地websocket发布至公网并实现远程访问?

本地websocket服务端暴露至公网访问【cpolar内网穿透】 文章目录 本地websocket服务端暴露至公网访问【cpolar内网穿透】1. Java 服务端demo环境2. 在pom文件引入第三包封装的netty框架maven坐标3. 创建服务端,以接口模式调用,方便外部调用4. 启动服务,出现以下信息表示启动成功…

财报解读:三季度的美国零售,“沃尔玛效应”仍在持续

经济学中常用“沃尔玛效应”来指代“消费者减少消费时&#xff0c;会选择每种类别中价格最低的商品”这一现象。作为全球最大的零售商&#xff0c;沃尔玛一定程度上成为了消费市场的风向标。 近日&#xff0c;沃尔玛发布的2024财年第三季度财报显示&#xff0c;其相较去年同期…

synchronized的轻量级锁居然不会自旋?

《Java并发编程的艺术》中说到「如果失败&#xff0c;表示其他线程竞争锁&#xff0c;当前线程便尝试使用自旋来获取锁」&#xff0c;并且下文所配的流程图中明确表示自旋失败后才会升级为重量级锁&#xff0c;但《深入理解Java虚拟机》又说「如果出现两条以上的线程争用同一个…

汇编-PROTO声明过程

64位汇编 64 模式中&#xff0c;PROTO 伪指令指定程序的外部过程&#xff0c;示例如下&#xff1a; ExitProcess PROTO ;指定外部过程&#xff0c;不需要参数.code main PROCmov ebx, 0FFFFFFFFh mov ecx,0 ;结束程序call ExitProcess ;调用外部过程main ENDP END 32位…

眼镜清洗机原理是怎么样的?2023年眼镜清洗机推荐

在日常生活中有许多小伙伴是因为看太多书或者是看太多电子产品导致近视佩戴上了眼镜&#xff0c;毕竟眼镜佩戴上后就再也离不开它了&#xff0c;像日常佩戴的眼镜上会积累非常多污垢以及堆积细菌&#xff0c;而我们手动清洗眼镜时不能除菌也不能清洁到缝隙中&#xff0c;像眼镜…

鸿蒙原生应用/元服务开发-AGC分发如何配置签名信息

使用制作的私钥&#xff08;.p12&#xff09;文件、在AGC申请的证书文件和Profile&#xff08;.p7b&#xff09;文件&#xff0c;在DevEco Studio配置工程的签名信息&#xff0c;以构建携带发布签名信息的APP。 1.打开DevEco Studio&#xff0c;菜单选择“File > Project S…

20s上手!文本生成3D模型

公众号&#xff1a;算法一只狗 硅谷初创公司Luma AI发布了一款名为Genie的Discord机器人&#xff0c;用于生成文本到3D内容&#xff0c;为游戏开发、虚拟制作和艺术创作带来变革。用户只需输入文本指令&#xff0c;Genie即可在20秒内生成四个简单的3D模型&#xff0c;并支持进一…

MMDetection3.0以上如何在推理是不显示类名?

找到/mmdet/visualization/local_visualizer.py这个文件&#xff0c;从156行开始 for i, (pos, label) in enumerate(zip(positions, labels)):# 这里先把类名拼接在了label_text中if label_names in instances:label_text instances.label_names[i]else:label_text classes…

内衣专用洗衣机怎么样?口碑最好的小型洗衣机

随着人们的生活水平的提升&#xff0c;越来越多小伙伴来开始追求更高的生活水平&#xff0c;一些智能化的小家电就被发明出来&#xff0c;而且内衣洗衣机是其中一个。现在通过内衣裤感染到细菌真的是越来越多&#xff0c;所以我们对内衣裤的清洗频次会高于普通衣服&#xff0c;…

基于springboot实现留守儿童爱心网站项目【项目源码+论文说明】

基于springboot实现留守儿童爱心网站平台系统演示 摘要 随着留守儿童爱心管理的不断发展&#xff0c;留守儿童爱心网站在现实生活中的使用和普及&#xff0c;留守儿童爱心管理成为近年内出现的一个热门话题&#xff0c;并且能够成为大众广为认可和接受的行为和选择。设计留守儿…