BX121028俞佳星实验报告1
电子信息学院实验报告书课程名:算法设计与分析题目实验一 C/C+环境及算法复杂度理解实验类别【设计型】班级:BX1210学号:121003531028姓名:俞佳星实验态度:认真()一般()较差()实验结果:正确()部分正确()错 ()实验理论:掌握()熟悉()了解()操作技能:较强()一般()较差()实验报告:较好()一般()较差()成绩:指导教师:王淮亭评语:生疏(批阅时间:2015年 月 日一、实验目的1、熟悉C/C+语言的集成开发环境;2、通过本实验加深对递归过程的理解。二、实验要求掌握递归算法的概念和基本思想,1、给出n!的递归定义式,并设计一个递归函数计算n!2、给定一个字符串s和一个字符x,编写递归算法实现以下功能: 检查x是否在s中,计算x在s中出现的次数。三、实验原理一个递归定义包括两部分:基础情况和递归部分。递归算法:是指直接或间接调用自身的算法。递归本质上也是一种循环的算法结构,它把较复杂的 计算归结为较简单情形的计算,直至归结到最简单情形的计算,并最终得到计算结果为止。四、实验设备PC机五、实验步骤1、理解算法思想和问题要求;2、编程实现题目要求;3、上机输入和调试自己所编的程序;4、验证分析实验结果;六、实验结果1:#include<stdio.h>/递归 /int go(int n)if( n>1) return n * go(nT);elsereturn n;void main()int n;pri ntf("input:");scanf("%d", &n);printf("%d!二dn",n, go(n);2:#include<stdio.h>/递归 /int go(char *indat ,char x) if(i nda t0='0')return 0;elsechar dat 50;int i=1;if(i nda t0=x) return 1+ go(da t,x);else return 0+ go(da t,x);void main()char da t50,x; printf("请输入字符串:"); scanf ("%s",dat);get char();printf("请输入要查的字符:");scanf ("%c",&x);printf("%c 出现了d 次门",x,go(dat,x);