栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言(十五)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言(十五)

递归:
1、弹球距离
设有一个球从高度为h米的地方落下,碰到地面后又弹到高度为原来p倍的位置,然后又落下,再弹起,再落下…。请编写函数求初始高度为h的球下落后到基本停下来(高度小于给定阈值TOL)时在空中所经过的路程总和。注意:当弹起的高度小于裁判程序定义的常数TOL时,弹起的距离不计算在内。
输入:输入球的初始高度h和球弹起高度与弹起前落下高度的比值p
输出:输出球下落后到基本停下来时在空中所经过的路程总和dist
优化目标:无

#include 
#define TOL 1E-3

double dist( double h, double p );

int main()
{
    double h, p, d;
    scanf("%lf %lf", &h, &p);
    d=dist(h,p);
    printf("%.6fn", d);
    return 0;
}

double dist(double h, double p) 
{
	double rh=p*h;
	if(rh 

2、输入一个非负整数,返回组成它的数字之和
输入:输入一个非负整数n
输出:输出组成n的数字之和
优化目标:无

#include 
#include 
int DigitSum(n)
{
	if (n>0) 
	{
		return n%10+DigitSum(n/10);
	}
	else
		return 0;
}
int main()
{
	int n;
	scanf("%d",&n);
	printf("%dn", DigitSum (n));
	return 0;
}

3、递归实现strlen
输入:输入一个字符串p
输出:输出字符串p的长度
优化目标:无

#include
int length(char *str)
{
	if (*str=='')
	{
		return 0;
	}	
	return 1+length(str+1);//str+1指针下移
}
int main()
{
	char *p="";
	scanf("%s",p);
	printf("%dn", length(p));
	return 0;
}

4、猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
输入:输入天数i
输出:输出第i天有多少桃子
优化目标:无

#include
//函数返回第n天的桃子数
int num(int n){
if(n==10)
	return 1;
else
	return (num(n+1)+1)*2;
}

int main(){
int i;
scanf("%d",&i);
printf("第一天共摘了多少: %d",num(i));
return 0;

}

5、汉诺塔
输入:输入盘子数量num
输出:输出移动步骤
优化目标:无

#include 

void hannuo(int num,char one,char two,char three);
void move(char a,char b);
int main(){
	int num;
	printf("input the number of disks:");
	scanf("%d", &num);
	printf("the step:n");
	hannuo(num,'A','B','C');
}

void hannuo(int num,char one,char two,char three){
	if(num==0){
		return;
	}
	else{
		hannuo(num-1,one,three,two);//n-1个盘子从one移动到two,借助three
		move(one,three);//一个盘子从one移动到three
		hannuo(num-1,two,one,three);//n-1个盘子从two移动到three,借助one
	}
}

void move(char a,char b){
	printf("%c->%cn",a,b);
}

总结:今天找了一些递归的题练习,也复习了之前练习的递归题,递归还是比较容易理解。明天计划练习顺序表的题。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/767758.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号