《实验一 算法转换为程序》由会员分享,可在线阅读,更多相关《实验一 算法转换为程序(6页珍藏版)》请在金锄头文库上搜索。
1、1实验报告实验报告2010 2011 学年第 2 学期 任课老师: 课程名称课程名称算法与数据结构算法与数据结构课程实课程实 验指导验指导班级班级座号座号姓名姓名实验题目实验题目实验一实验一 算法转换为程序算法转换为程序实验时间实验时间实验日期: 9-22 提交日期: 923 实验目的、要求实验目的、要求 一、实验目的一、实验目的 1掌握如何将算法转换为程序; 2熟悉顺序存储结构; 3熟悉顺序表的操作; 4熟悉顺序表的应用。 二、实验要求二、实验要求 1每个同学必须独立完成; 2程序中的开头部分必须对本程序的总体功能进行注释;程序中每个函数段必须要有注释 说明该函数的功能或作用; 3实验步骤中
2、的 1-4 部分必须在每次上机之前完成,上机时进行调试和修改并填写实验报 告; 4实验报告中的源程序必须调试通过。 5在体会中描述如下内容: (1)对算法与程序的区别上的体会。 (2)本次实验过程的体会,是否自己独立完成?最大的困难是什么?自己准备如何解决这 个困难? (3)对本门课程的初步感觉,准备如何进行本门课程的学习。 6提交实验报告(报告中包含源代码) 、可直接运行的程序,程序运行界面要包括班级、 座号和姓名,对每个输入的要求以及输出要有清晰的提示。实验设计内容实验设计内容(一)1.使用内容的描述设计数据结构 /*顺序表*/ #indefine MAXSIZE 50 Tpedef in
3、t elemtype typedef struct elemtype dataMAXSIZE; Int len;/*序表的表长*/ SeqList; 2.根据实验内容的描述设计算法Void part(SeqList*L) int i,j;dtatype x,y;x=L-data0; for(i=1;idatai;y=L-datai;For(j=i-1;j=0;j-)L-dataj+1=L-dataj;L-data0=y; 3.算法转化为程序 #include #define MAXSIZE 50 Typedef int elemtype; Typedef structelemtype data
4、MAXSIZE;Int len;/*顺序表中最后一个元素的序号*/ SeqList; /*创建顺序表*/ Void input(SeqList*L) int I,x; I=0; Printf(“n 输入顺序表中的元素值,-1 结束:“); Scanf(“%d”, While(x!=-1) L-datai=x;i+;If(i=MAXSIZE)printf(“表空间已经满了“);Else sanf(“%d”, L-len=I; /*顺序表中元素以 a1 为界重新排列*/Viod part(SeqList*L) int i,j;Elemtype x,y; X=L-data0; For(i=1;ida
5、taidatai;For(j=i-1;j=0;j-)L-dataj+1=L-dataj;L-data0=y; /*输入顺序表*/Void output(SeqList *L) int I;3Printf(“n 输入顺序表中的各个元素值:n);For(i=0;ilen-1;i+)Printf(“%d”,L-datai); /*主函数*/Void main () SeqList *)malloc(sizeof(SeqList);Input(L);Part(L);Output(L);Getch(); (二)算法void ReverseList(Seqlist *L)Datatype t;int i;
6、for(i=0;ilength/2;i+)t=L-datai;L-datai=L-dataL-length-1-i;l-dataL-LENGTH-1-I=t;1 程序 #include int main() 4typedef struct Lnod int data;struct Lnod *next;Lnod,*Linklist;Linklist p,m,n,r,L,a,b;int i;L=(Linklist)malloc(sizeof(Lnod)*5);if(!L)exit(0);L-next=NULL;for(i=0;idata);p-next=L-next;L-next=p;a=L-n
7、ext; printf(“原来的链表中的元素为:n“);while(a)printf(“%d, “,a-data);a=a-next;printf(“n“);m=L-next;n=m-next;while(n-next)r=n-next;n-next=m;m=n;n=r;n-next=m;L-next-next=NULL;L-next=n;5b=L-next; printf(“nn 逆置之后链表中的元素为:n“);while(b)printf(“%d, “,b-data);b=b-next;printf(“n“); return 0; 2二、二、 实验报告实验报告根据实验内容要求写出相应的 S
8、QL 语句,并记录实验过程中遇到的困难和 解决问题的方法。调试过程记录调试过程记录实验结果记录以及与预期结果比较以及分析实验结果记录以及与预期结果比较以及分析输入数据:输入数据:20 22 44 43 63 19 33 输出数据:输出数据:33 19 63 43 44 22 20输入数据和输出数据想同。输入数据和输出数据想同。6总结以及心得体会总结以及心得体会刚刚开始总出现错误 ,经过多次修改终于成功。通过这次实验我发现我的 C 语言基础还 不够好。以后要多多练习!还有对指针和函数这块还不够熟悉,应该好好努力!教师评阅意见教师评阅意见教师: 年 月 日填写内容时,可把表格扩大。实验的源程序代码(要有注释)附在表后。