数 据 结 构
实验报告
实验课程: 数据结构
学 号: 2016031124
学生姓名: 郑世林
班 级: 16软件
2017年 月 日
实验一 函数与结构体(复习)
一、实验目的:
巩固复习前期所学C语言的函数参数传递、指针和结构体等知识点,加强学习数据结构语言基础。
二、实验要求
1、学生提前准备好实验报告,预习并熟悉实验步骤;
2、遵守实验室纪律,在规定的时间内完成要求的内容;
3、1~2人为1小组,实验过程中独立操作、相互学习。
三、实验内容:
1. 用数组处理Fibonacci数列问题。
已知Fibonacci数列:
1 1 2 3 5 8 13 21 34 …… 输出数列的前20项。
#include<stdio.h>
int main()
{
int a[22],i,n;
a[0]=a[1]=1;
for(i=2;i<21;i++)
a[i]=a[i-1]+a[i-2];
printf("%d",a[0]);
for(i=1;i<21;i++)
printf(" %d",a[i]);
printf("\n");
return 0;}
2. 下面的程序的功能是:输入三个整数,输出其中最大的数,补足所缺语句。
#include <stdio.h>
int max(int x,int y); /*函数max的声明*/
int max3(int x,int y,int z); /*函数max3的声明*/
void main()
{
int a,b,c,m;
printf("请输入三个整数,用逗号隔开:\n");
scanf("%d,%d,%d",&a,&b,&c); /*从键盘接收3个整数*/
m=max3(a,b,c);
printf("Max is %d\n",m);
getch();
}
int max(int x, int y) /*函数功能:返回x、y的最大值*/
{
return (x>y?x:y);
}
int max3(int x, int y, int z) /*函数功能:返回x、y、z的最大值*/
{
int m;
m=max(max(x,y),z);结构体数组不能作为参数传递给函数
return m;
}
3.学生信息的显示,具体要求如下:
1)定义一个结构体描述学生信息(学号,姓名,性别,年龄,住址);
2)设计一个函数,用于显示单个学生信息,函数的参数为前面定义的结构体类型;
3)设计一个主函数,在主函数中输入学生的信息,并调用前面定义的函数进行显示(学生人数不少于5人)。
提示:可用结构体数组保存学生信息。
4. 输入若干个整数作为数组元素值,然后按输入时顺序的就地逆置排序,最后打印出逆置后的元素值。例如 输入:10 2 30 4 5,逆置后显示为:5 4 30 2 10。
四、 程序运行结果和源代码为:
此处写程序源代码,请在程序中适当注释,便于老师更快地看懂你的程序。
此处写出程序运行的结果,即输入数据是什么,输出数据是什么,分析结果是否正确,如果不正确是什么原因。
五、实验总结
1、收获
2、存在的问题
实验二 线性表的算法实现
一、实验目的:
1、掌握线性表的定义方法;
2、.掌握线性表基本操作的实现方法;
二、实验要求
1、学生提前准备好实验报告,预习并熟悉实验步骤;
2、遵守实验室纪律,在规定的时间内完成要求的内容;
3、1~2人为1小组,实验过程中独立操作、相互学习。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论