资源描述:
《数据结构(邹永林版)实验报告1~复习C.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验一、C语言回顾复习C语言中关于函数、数组、指针、结构体等的知识,为数据结构实验做准备。【实验学时】2学时【实验预习】回答以下问题:1、数组的定义与引用 数组定义 在定义数组时,应该说明数组的名字、类型、大小和维数。 数组定义形式 类型说明符 数组名[常量表达式] 数组元素的引用方法 数组名[下标] 2、函数的定义与调用 无参函数 类型说明符 函数名() { 函数体 }; 有参函数 类型说明符 函数名(形式参数表列) { 函数体 }; 函数调用 函数名([实参表列]) 3、指针的基本概
2、念 指针一般指向一个函数或一个变量。在使用一个指针时,一个程序既可以直接使用这个指针所储存的存地址,又可以使用这个地址里储存的函数的值。在计算机语言中,由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的存单元。 4、结构体类型变量的定义方法 结构体类型定义的一般形式 struct结构体名 { 成员表}; struct结构体名 { 成员表 }变量表; 5、结构体成员的访问方法 结构体变量名.成员名 (*指针变量名)
3、.成员名 指针变量名->成员名 【实验容和要求】1、完成并调试程序:实现对一维数组元素的升序排序并输出结果(横线处仅能补充一条语句)。#includevoidsort(inta[],intn);_________________________;intmain(){ints[10]={1,-9,89,120,76,45,43,6,7,2},i;________________________________;for(i=0;i<10;i++)printf("%4d",s[i]);
4、printf("");return0;}voidsort(inta[],intn){/*补充完整排序函数,可用选择或冒泡排序*/}#includevoidsort(inta[],intn);intmain(){ints[10]={1,-9,89,120,76,45,43,6,7,2},i;sort(s,10);for(i=0;i<10;i++)printf("%4d",s[i]);printf("");return0;}voidsort(inta[],intn){inti
5、,j,t;for(i=0;ia[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}}2、完成并调试程序:字符串连接程序,不使用系统提供的字符串连接函数,将第二个字符串连接至第一个字符串后。(横线处仅能补充一条语句)。#include#defineM80intmain(){charsub1[M],sub2[M];char*ps1=sub1,*ps2=sub2;printf("pleas
6、einputstrings:");printf("string1:");gets(ps1);printf("string2:");gets(ps2);while(*ps1!=' ')_________ps1++________________;while(*ps2!=' ')_*(ps1++)=*(sp2++)________________________;*ps1=' ';printf("newstring:");puts(sub1);return0;}3、完成并调试程序:结构体与数
7、组。实现学生数据的输入、输出和按成绩排序。(横线处仅能补充一条语句)。#include#includestructstudent{intsno;charsname[10];floatgrade;};voidinputData(structstudents[],intn);voidprintData(structstudents[],intn);voidsortData(structstudents[],intn);intmain(){structstudent
8、a[100];intn=3;inputData(a,n);sortData(a,n);printData(a,n);return0;}voidinputData(structstudents[],intn){inti;for(i=0;i