递归算法来解决迭代问题——c语言

本文通过递归函数解决了一个经典的数学问题——弹跳球的总路程及第十次反弹高度。使用C语言实现,详细展示了如何通过递归算法计算球在多次弹跳后的累计路程和最后一次反弹的高度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?请编程。
采用一个递归函数来实现算法的调用,当然也可以采取一个while循环函数来实现递归调用,这里我就只给方法1的代码,方法二大家可以自己去尝试写一下。

#include<stdio.h>
double sum=100;
int i=0;
int digui(double n)
{
   if(i++<9)
	   sum=sum+n;
   else 
   {
	   printf("%lf %lf\n",sum,n/2);
   return 0;
   }
   digui(n/2.0);
}
void main()
{
	double n=100.0;
	digui(n);
}

有问题可以留言哦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值