数据结构实验报告[1]
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
云南大学
数据结构实验报告
第一次实验
学号:
姓名:
一、实验目的
1、复习变量、数据类型、语句、函数;
2、掌握函数的参数和值;
3、了解递归。
二、实验内容
1、(必做题)采用函数统计学生成绩:输入学生的成绩,计算并输出这些学生的最低分、最高分、平均分。
2、(必做题)采用递归和非递归方法计算k阶裴波那契序列的第n项的值,序列定义如下:f0=0, f1=0, …, fk-2=0, fk-1=1, fn= fn-1+fn-2+…+fn-k(n>=k) 要求:输入k(1<=k<=5)和n(0<=n<=30),输出fn。
3、(选做题)采用递归和非递归方法求解汉诺塔问题,问题描述如下:有三根柱子A、B、C,在柱子A上从下向上有n个从大到小的圆盘,在柱子B和C上没有圆盘,现需将柱子A上的所有圆盘移到柱子C上,可以借助柱子B,要求每次只能移动一个圆盘,每根柱子上的圆盘只能大的在下,小的在上。要求:输入n,输出移动步骤。
三、算法描述
(采用自然语言描述)
1、①先输入需统计的学生人数。
②根据学生人数输入成绩,计算成绩总和和平均分。
③比较成绩大小,得出最低分和最高分。
④输出计算结果。
2、⑴①写出不同情况下求k阶裴波那契序列的第n项的值的递归函数。
②输入k和n。
③输出计算结果。
四、详细设计
(画出程序流程图)
1、
2、⑴
五、程序代码
(给出必要注释)
1、
#include
#include
#define N 100 /*先预计输入人数在0~100内,如果人数多于100再将100改成更大的数*/
void main()
{int i,x[N],a;
int max,min;
float ave,sum=0.0;
printf("请输入不多于%d的学生人数:",N);
scanf("%d",&a); /*输入学生数*/