1、上机实验报告学生姓名 学号 2011016160程序名称 ex1_1#include#define MAXNUM 11typedef struct/顺序表类型定义 int dataMAXNUM;int length;list_type;void createlist(list_type *lp)/创建顺序表 int i, input;lp-length=0;printf(“please input datas of the listn“);for(i=0; idatai=input;lp-length+;void showlist(list_type *lp)/输出顺序表 int i;if(l
2、p-lengthlength;i+)printf(“%d “,lp-datai);void insert(list_type *lp,int new_input,int i)/插入元素 (位置) int j;if(lp-length=MAXNUM)printf(“the list is fulln“);elseif(ilp-length+1)printf(“can not be insertn“);elsefor(j=lp-length-1;ji-2;j-)lp-dataj+1=lp-dataj;lp-datai-1=new_input;lp-length=lp-length+1;void d
3、eletelist(list_type *lp,int i)/删除元素(位置) int j;if(lp-lengthlp-length)printf(“is not the right positionn“);elsefor(j=i;jlength;j+)lp-dataj-1=lp-dataj;lp-length=lp-length-1;void delete_negative(list_type *lp,list_type *lnew)int i=0,j=0;while(ilength)if(lp-datai=0)lnew-dataj=lp-datai;i+;j+;lnew-length+;
4、elsei+;void initiate(list_type *lp)lp-length=0;int main()int i,data,j;list_type list,listnew;createlist(showlist(printf(“insert the i and the data you want to insertn“);scanf(“%d,%d“,insert(showlist(printf(“delete the j datan“);scanf(“%d“,deletelist(showlist(initiate(showlist(delete_negative(showlis
5、t(典型测试数据(输入):应输出(上机前自己分析的结果)与实验结果相符,未遇到问题。上机时遇到的问题: 由于本次实验比较简单,所以未遇到没解决的问题,其中小问题都经由参考课本概念和调试解决,解决办法:参考课本概念,细心检查程序,调试检验数据的正确性。实际运行结果:如图(上面) ,正确。个人体会:由于本次实验较为简单,未遇到太多问题,体会数据结构的概念对于程序十分重要,同时要理解各种数据结构的逻辑结构和存储结构,同时认真调试,就能解决问题。程序名称 ex1_2#define MAXNUM 20#includetypedef struct/顺序表类型定义 int dataMAXNUM;int le
6、ngth;list_type;void createlist(list_type *lp)/创建从大到小排列的顺序表 int i, elem;lp-length=0;printf(“nplease input datas of the list in order from small to bign“);for(i=0; idatai=elem;lp-length+;void showlist(list_type *lp)/输出顺序表 int i;printf(“nThese %d records are:n“, lp-length);if(lp-lengthlength; i+)printf
7、(“ %d “, lp-datai);printf(“nlength of the list is:%d“, lp-length);int insert(list_type *lp,int x)/插入元素(数值) int j;if(lp-length=MAXNUM)printf(“fulln“);elsej=0;while(lp-datajlength=MAXNUM)printf(“the list is full,can not insert.“);if(ilp-length+1)printf(“n%d is invalid value“,i);for(j=lp-length-1; j=i-
8、1; j-)lp-dataj+1=lp-dataj;lp-datai-1=new_elem;lp-length+;int main()int x,y;list_type list;createlist(showlist(printf(“inputn“);scanf(“%d“,y=insert(insertlist(showlist(典型测试数据(输入):如图应输出(上机前自己分析的结果):与实验结果相符,未遇到问题。上机时遇到的问题: 由于本次实验比较简单,所以未遇到没解决的问题,其中小问题都经由参考课本概念和调试解决,解决办法:参考课本概念,细心检查程序,调试检验数据的正确性。实际运行结果:如图(上面) ,正确。个人体会:由于本次实验较为简单,未遇到太多问题,体会数据结构的概念对于程序十分重要,同时要理解各种数据结构的逻辑结构和存储结构,同时认真调试,就能解决问题。