软件技术基础实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《软件开发技术基础》

实验报告

学院:XX学院

班级:XX

: XX

学号:XX

《软件开发技术基础》实验报告

实验名称:实验一顺序表的操作

班级学号姓名

第周星期节成绩

一、实验目的:

1、掌握顺序表结构的实现方式;

2、掌握顺序表常用算法的实现;

3、熟悉利用顺序表解决问题的一般思路;

4、参照给定的顺序表的程序样例,验证给出的顺序表的常见算法,领会顺序表结构的优点和不足。

二、实验要求:

1、掌握顺序表的特点及常见算法。

2、提交实验报告,报告内容包括:目的、要求、算法描述、程序结构、主要变量说明、程序清单、调试情况、设计技巧、心得体会。

三、实验内容:

1、设计一个静态数组存储结构的顺序表,要求编程实现如下任务:

(1)建立一个顺序表,首先依次输人整数数据元素(个数根据需要键盘给定)。

(2)删除指定位置的数据元素(指定元素位置通过键盘输入),再依次显示删除后的顺序表中的数据元素。

(3)查找指定数据的数据元素(指定数据由键盘输入),若找到则显示位置,若没有找到则显示0。

2、使用顺序表实现一个电话本的管理程序,电话本中的每条记录包括学号、、手机号码

和固定电话四项。要求实现菜单、初始化、添加、删除和显示等功能。

四、程序要求:

1、采用顺序表实现,假设该顺序表的数据元素个数在最坏情况下不会超过50个。

2、写出完整的程序并能调试运行。

五、实验结果:

1、顺序表的结果:

2、电话簿的结果:

六、实验中遇到的问题及解决方法:

1.在删除数据的时候如果有两个一样的数时要怎样解决?

解决方法:用while进行判断。

2.在删除操作中,删除函数中的l是指针,所以用->指向,而在主函数中l是结构体,用“.”。

3.在查找的时候有一个返回值,而这个返回值是指针,所以在写查找函数的时候要把返回值类型写上。

七、实验心得体会:

一开始不知所措,首先应该有一个大的方向,把主程序编号,再逐步求精,落实到每一个函数的编写。对于c语言要熟练掌握,要熟悉循环等得操作,要熟练掌握顺序表中的插入,删除,查找,的基本函数。在此的基础上灵活使用。

附:

1、顺序表的程序:

#include

#include

#include

#include

#define MAXSIZE 50

struct Seqlist

{

int data[MAXSIZE];

int length;

};

Seqlist *init()

{

Seqlist *p;

p=(Seqlist *)malloc(sizeof(Seqlist));

p->length=0;

return p;

}

void insert(Seqlist *p)

{

int num=0;

printf("请输入要键入的个数:");

scanf("%d",&num);

if(num<1)

printf("键入的数据个数错误!\n");

else

{

printf("键入数据为:\n");

for(;num>0;num--)

{

p->length++;

scanf("%d",p->data+p->length-1);

if(p->length==MAXSIZE)

{

printf("数组已满\n");

break;

}

}

}

getchar();

}

void deletee(Seqlist *p)

{

int i=0;

printf("请输入要删除元素的位置:");

scanf("%d",&i);

if(i<1||i>p->length)

printf("表中没有第%d个元素!\n",i);

else

{

for(int j=i;j<=p->length-1;j++)

p->data[j-1]=p->data[j];

p->length--;

}

getchar();

}

int find(Seqlist *p)

{

int x;

printf("请输入要查找的数据:");

scanf("%d",&x);

for(int i=0;ilength;i++)

{

if(p->data[i]==x)

{

printf("此数据位于第%d个位置\n",i+1);

return i+1;

}

}

if(i>=p->length)

printf("数组中没有此数据!\n");

getchar();

return 0;

}

void display(Seqlist *p)

{

for(int i=0;ilength;i++)

printf("%-5d",p->data[i]);

putchar('\n');

getchar();

}

int main(void)

{

Seqlist *p;

相关文档
最新文档