数据结构实验指导(电子信息类).docVIP

  • 4
  • 0
  • 约3.53万字
  • 约 58页
  • 2018-12-07 发布于天津
  • 举报
PAGE2 数 据 结 构 实 验 指 导 (C语言) 电子信息类 目 录 预备实验 C语言基础知识 第1页(2课时) 实验一 复数的基本运算 第7页(2课时) 实验二 顺序表及其基本运算 第10页(2课时) 实验三 单链表及其基本运算 第15页(2课时) 实验四 顺序栈及其基本运算 第22页(2课时) 实验五 队列及其基本运算 第30页(2课时) 实验六 二叉树建立、存储及其遍历 第36页(4课时) 实验七 排序——直接插入排序 第48页(2课时) 实验八 排序——希尔排序 第52页(2课时) 预备实验1 C语言的函数、数组、指针和结构体知识 一、实验目的 1、复习C语言中函数、数组、指针、结构体等的概念。 2、熟悉利用C语言进行程序设计的一般方法。 二、实验内容 1、调试程序:输出100以内所有的素数(用函数实现)。 #includestdio.h int isprime(int n){ /*判断一个数是否为素数*/ int m; for(m=2;m*m=n;m++) if(n%m==0) return 0; return 1; } int main(){ /*输出100以内所有素数*/ inti i,j=0; printf(开始计算自然数100以内的所有素数\n); for(i=2;i100;i++) if(isprime(i)==1) { j=j+1; printf(%6d,i); if((j%5)==0) printf(\n); } return 0; } 运行结果: 2、 调试程序:对一维数组中的元素进行逆序排列。 #includestdio.h #define N 10 int main(){ int a[N]={0,1,2,3,4,5,6,7,8,9},i,temp; printf(\nthe original Array is:\n ); for(i=0;iN;i++) printf(%4d,a[i]); for(i=0;iN/2;i++){ /*交换数组元素使之逆序*/ temp=a[i]; a[i]=a[N-i-1]; a[N-i-1]=temp; } printf(\nthe changed Array is:\n); for(i=0;iN;i++) printf(%4d,a[i]); return 0; } 运行结果: 3、 调试程序:利用指针输出二维数组的元素。 #includestdio.h int main(){ int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; int *p; for(p=a[0];pa[0]+12;p++){ if((p-a[0])%4==0) printf(\n); printf(%4d,*p); } return 0; } 运行结果: 4. C语言中有一种特殊的数据类型,称作结构体(struct),该类型实际上是多种数据类型的集合体,它可以包含多个不同的成员,分属于不同的数据类型。例如我们可以定义学生的结构体student: struct student { long id; //学号 char name[20]; //姓名 char sex[2]; //性别 int age; //年龄 int deptno; //所属系 } 下面的例子将有助于我们对指针和结构体的理解: 例:打印结构体数组中的内容: #include studio.h struct student { long id; //学号 char name[20]; //姓名 char sex[2]; //性别 int age; //年龄 int deptno; //所属系 } main( ) { int i; struct student *ps; struct student s[3]={ {98001,张三,男,18,6}, {98002,李四,男,19,10}, {98003,孙丽,男,17,23} }; // 数组赋初值 ps=s; for(i=0;i3;i++) //采用数组访问形式 printf(%ld\t%s\t%d\t%d\n,s[i],id,s[i].name

文档评论(0)

1亿VIP精品文档

相关文档