《数据结构》实验指导及报告书

2020-04-17 05:29

预备实验 C语言的函数数组指针结构体知识

一、实验目的

1、复习C语言中函数、数组、指针、结构体与共用体等的概念。 2、熟悉利用C语言进行程序设计的一般方法。

二、实验预习

说明以下C语言中的概念 1、 函数:

2、 数组:

3、指针:

4、结构体

5、共用体

三、实验内容和要求

1、调试程序:输出100以内所有的素数(用函数实现)。 #include

int isprime(int n){ /*判断一个数是否为素数*/ int m;

for(m=2;m*m<=n;m++) if(n%m==0) return 0; return 1;

}

int main(){ /*输出100以内所有素数*/ int i; printf(\

for(i=2;i<100;i++) if(isprime(i)==1) printf(\

return 0; }

运行结果:

2、 调试程序:对一维数组中的元素进行逆序排列。 #include #define N 10

1

int main(){

int a[N]={0,1,2,3,4,5,6,7,8,9},i,temp; printf(\for(i=0;i

printf(\for(i=0;i

temp=a[i]; a[i]=a[N-i-1]; a[N-i-1]=temp;

}

运行结果:

3、 调试程序:在二维数组中,若某一位置上的元素在该行中最大,而在该列中最小,则该元素即为该二维数组的一个鞍点。要求从键盘上输入一个二维数组,当鞍点存在时,把鞍点找出来。 #include #define M 3 #define N 4 int main(){

int a[M][N],i,j,k;

printf(\请输入二维数组的数据:\\n\for(i=0;i

for(j=0;j

}

for(i=0;i

k=0;

for(j=1;ja[i][k])

k=j;

for(j=0;j2

printf(\

} return 0; }

运行结果:

4、 调试程序:利用指针输出二维数组的元素。 #include

int main(){ int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};

int *p;

for(p=a[0];p

if((p-a[0])%4==0) printf(\printf(\

} return 0; }

运行结果:

5、 调试程序:设有一个教师与学生通用的表格,教师的数据有姓名、年龄、职业、教研室四项,学生有姓名、年龄、专业、班级四项,编程输入人员的数据,再以表格输出。 #include #define N 10

struct student{ char name[8]; /*姓名*/ int age; /*年龄*/

char job; /*职业或专业,用s或t表示学生或教师*/ union {

int class; /*班级*/ char office[10]; /*教研室*/ }depa;

}stu[N]; int main(){

int i; int n;

printf(“\\n请输入人员数(<10):\\n”); scanf(“%d”,&n); for(i=0;i

/*输入n个人员的信息*/

printf(\请输入第%d人员的信息:(name age job class/office)\\n\scanf(\if(stu[i].job==’s’)

3

scanf(\

else

scanf(\ } printf(“name age job class/office”); for(i=0;i

if(stu[i].job==’s’)

printf(\ else

printf(\

} }

输入的数据:2 Wang 19 s 99061 Li 36 t computer 运行结果:

四、实验小结

五、教师评语

4

实验一 顺序表与链表

一、实验目的

1、掌握线性表中元素的前驱、后续的概念。

2、掌握顺序表与链表的建立、插入元素、删除表中某元素的算法。 3、对线性表相应算法的时间复杂度进行分析。 4、理解顺序表、链表数据结构的特点(优缺点)。

二、实验预习

说明以下概念 1、线性表:

2、顺序表:

3、链表:

三、实验内容和要求

1、阅读下面程序,在横线处填写函数的基本功能。并运行程序,写出结果。 #include #include #define ERROR 0 #define OK 1

#define INIT_SIZE 5 /*初始分配的顺序表长度*/

#define INCREM 5 /*溢出时,顺序表长度的增量*/ typedef int ElemType; /*定义表元素的类型*/ typedef struct Sqlist{

ElemType *slist; /*存储空间的基地址*/ int length; /*顺序表的当前长度*/ int listsize; /*当前分配的存储空间*/

}Sqlist;

int InitList_sq(Sqlist *L); /* */ int CreateList_sq(Sqlist *L,int n); /* */

int ListInsert_sq(Sqlist *L,int i,ElemType e);/* */ int PrintList_sq(Sqlist *L); /*输出顺序表的元素*/ int ListDelete_sq(Sqlist *L,int i); /*删除第i个元素*/ int ListLocate(Sqlist *L,ElemType e); /*查找值为e的元素*/

int InitList_sq(Sqlist *L){

L->slist=(ElemType*)malloc(INIT_SIZE*sizeof(ElemType));

5


《数据结构》实验指导及报告书.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《初中英语阅读教学实践与研究》课题结题报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: