当前位置: 首页 > news >正文

C语言--一个球从100m高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹。求它在第10次落地时共经过多少米,第10次反弹多高

一.思路分析

这是一个简单的物理题目,解题思路比较明确。程序使用 for 循环来模拟球的下落和反弹过程,通过多次计算得到最终结果,最后使用 printf 函数将结果输出。

  • 定义初始高度 height 和总共经过的米数 distance 的变量,初始化为第一次下落的高度(即初始高度)

 double height = 100;  // 初始高度,单位为米double distance = 100;  // 总共经过的米数,初始化为第一次下落的高度
  • 使用 for 循环进行球的下落和反弹计算。循环变量 i 从 1 开始,直到第9次下落结束。循环中,每次将当前高度除以2得到反弹的高度,并将该高度乘以2加到总共经过的米数上。

  for (i = 1; i < 10; i++){height /= 2;  // 反弹的高度为当前高度的一半distance += height * 2;  // 下落和反弹的距离等于当前高度的两倍}
  • 循环结束后,再将当前高度除以2得到第10次反弹的高度。

 height /= 2;  // 第10次落地后的反弹高度
  • 最后,使用 printf 函数输出第10次落地时总共经过的米数和第10次反弹的高度

 printf("在第10次落地时,共经过 %lf 米\n", distance);printf("第10次反弹的高度为 %lf 米\n", height);

 二.图解


 三.完整代码

#include<stdio.h>
int main()
{double height = 100;  // 初始高度,单位为米double distance = 100;  // 总共经过的米数,初始化为第一次下落的高度int i;for (i = 1; i < 10; i++){height /= 2;  // 反弹的高度为当前高度的一半distance += height * 2;  // 下落和反弹的距离等于当前高度的两倍}height /= 2;  // 第10次落地后的反弹高度printf("在第10次落地时,共经过 %lf 米\n", distance);printf("第10次反弹的高度为 %lf 米\n", height);return 0;
}

四.运行结果

http://www.lryc.cn/news/219448.html

相关文章:

  • 基础知识:位运算
  • Android菜单Menu详解
  • win10 + cmake3.17 + vs2017编译osgearth2.7.0遇到的坑
  • 【Linux网络编程_TCP/UDP_字节序_套接字 实现: FTP 项目_局域网聊天项目 (已开源) 】.md updata:23/11/05
  • SpringBoot日志基础
  • linux文章导航栏
  • Adobe:受益于人工智能,必被人工智能反噬
  • VScode配置 github 上传代码
  • mysql根据条件导出表数据(`--where=“文本“`)
  • MySQL复习总结(二):进阶篇(索引)
  • java APP自动化测试AppIum
  • 【洛谷 P1303】A*B Problem 题解(高精度+字符串)
  • 计算机网络(43)
  • Ipswitch WS_FTP 12 安裝
  • 二十三种设计模式全面解析-解密组合模式(Composite Pattern):构建统一而强大的对象结构
  • 为什么路由器属于网络层
  • 【0基础学Java第七课】-- 类和对象01
  • 一个JS版寻路的实现
  • Java web应用的目录结构
  • 【Mac环境搭建】JDK安装、多JDK安装与切换
  • C++: 类和对象(中)
  • 图片批量归类:告别混乱,实现高效文件管理
  • 187. 重复的DNA序列 --力扣 --JAVA
  • Mysql高级——Mysql8一主一从,多主多从搭建
  • 【Qt5】QNetworkAccessManager
  • zookeeper节点类型
  • 【C++】一篇文章搞懂auto关键字及其相关用法!
  • 微信小程序overflow-x超出部分样式不渲染
  • Oracle常用运维SQL-SQL执行性能及锁表等查询分析
  • 安装MySQL时出现 由于找不到 MSVCR120.dll,无法继续执行代码。重新安装程序可能会解决此问题。