c语言递归算法实验报告,递归算法实验报告.docx

这篇实验报告探讨了递归算法在计算前n个自然数累加和与平均数,以及折半查找问题中的实现。通过C语言程序展示了递归算法的使用,包括成功和失败的查找实例,并对比了循环结构和递归结构在性能上的差异。报告还涵盖了递归到非递归算法的转换概念。
摘要由CSDN通过智能技术生成

递归算法实验报告

递归算法实验报告

篇一:递归算法的设计和实现的实验报告  班级学号 姓名 实验组别 试验日期 室温 报告日期成绩 报告内容:(目的和要求、原理、步骤、数据、计算、小结等)  实验名称:递归算法的设计和应用  实验目的:  1. 掌握递归算法的实现。  2. 实现递归算法的应用。  实验环境(硬/软件要求):  Windows XX, Visual C++ 6.0  实验内容:  用递归算法实现前n个自然数的累加和与平均数   【C语言源程序】   #include   int Digui(int n)//设计递归算法功能为求前n个整数的和//  {  if(n==0)  return 0;  if(n==1)  return 1;  else return Digui(n-1)+n;   }   int main()   {  int n;  printf("请输入n的值:\n");  scanf("%d",&n);  printf("计算结果为:\n%d\n",Digui(n));  printf("这n个数的平均数是:\n%f\n",(float)Digui(n)/n);  }篇二:数据结构- 递归算法实验报告  实验报告  实验五 递归算法  实验目的:  1.熟悉递归算法的实现过程及实现机理;  2.熟练并掌握递归算法的设计方法;  3.了解递归算法到非递归算法的转换。  实验原理:  高级程序语言函数调用原理;  递归算法的设计方法。  实验内容:  6-14 折半查找问题。折半查找问题的描述见6.1节,折半查找问题的递归算法见例6-2。要求:  (1)设计折半查找问题的循环结构算法;  (2)设计一个查找成功的例子和一个查找不成功的例子,并设计测试主程序;  (3)设计一个包含10000个数据元素的查找成功的例子,然后分别调用循环结构的查找算法和递归结构的查找算法,并测试出两种算法在计算机上的实际运行时间。  实验结果:  (1)折半查找问题的循环结构算法程序为:  int Csearch(int test[],int x,int low,int high)  {  int i;  for( i=0;i  {  if(x==test[i]) return i;  else if(x>test[i])low=i+1;  else high=i-1;  }  if(i>=high) return -1;  }  (2)①查找成功的例子:  #include  int Csearch(int test[],int x,int low,int high)  {  int i;  for( i=0;i  {  if(x==test[i]) return i;  else if(x>test[i])low=i+1;  else high=i-1;  }  if(i>=high) return -1;  }  int main()  {  int a[10]={1,2,3,4,5,6,7,8,9,10};  int x=6,flag ;  int low=0,high=10;  flag=Csearch(a,x,0,10);  if(flag==-1) printf("searching is failed!\n");  else printf("searching is success!\n") ;  printf("This program is made byn");  }  运行结果为:  ②查找失败的例子为:  #include  int Csearch(int test[],int x,int low,int high)  {  int i;  for( i=0;i  {  if(x==test[i]) return i;  else if(x>test[i])low=i+1;  else high=i-1;  }  if(i>=high) return -1;  }  int main()  {  int a[10]={1,2,3,4,5,6,7,8,9,10};  int x=11,flag ;  int low=0,high=10;  flag=Csearch(a,x,0,10);  if(flag==-1) printf("searching is failed!\n");  else printf("searching is success!\n") ;  pr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值