数据结构(邹永林版)实验报告1-复习C

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

实验一、C语言回顾

复习C语言中关于函数、数组、指针、结构体等得知识,为数据结构实验做准备。【实验学时】

2学时

【实验预习】

回答以下问题:

1、数组得定义与引用

数组定义

在定义数组时,应该说明数组得名字、类型、大小与维数。数组定义形式

类型说明符数组名[常量表达式] 数组元素得引用方法数组名[下标]

2、函数得定义与调用

无参函数

类型说明符函数名() { 函数体};

有参函数

类型说明符函数名(形式参数表列) { 函数体};

函数调用函数名([实参表列])

3、指针得基本概念

指针一般指向一个函数或一个变量。在使用一个指针时,一个程序既可以直接使用这个指针所储存得内存地址,又可以使用这个地址里储存得函数得值.在计算机语言中,由于通过地址能找到所需得变量单元,可以说,地址指向该变量单元。因此,将地址形象化得称为“指针”。意思就是通过它能找到以它为地址得内存单元。

4、结构体类型变量得定义方法

结构体类型定义得一般形式 struct结构体名

{成员表};

struct结构体名{成员表 }变量表;

5、结构体成员得访问方法

结构体变量名、成员名(*指针变量名)、成员名指针变量名—〉成员名

【实验内容与要求】

1、完成并调试程序:实现对一维数组元素得升序排序并输出结果(横线处仅能补充一条语句).

#include〈stdio、h>

void sort(int a[],int n);_________________________;

int main(){

ints[10]={1,—9,89,120,76,45,43,6,7,2},i;

________________________________;

for(i=0;i〈10;i++)

printf("%4d",s[i]);

printf("\n");

return 0;

void sort(int a[],intn){ /*补充完整排序函数,可用选择或冒泡排序*/ }

#include〈stdio、h>

void sort(inta[],intn);

int main()

{

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("\n");

return 0;

}

void sort(inta[],intn)

inti,j,t;

for(i=0;i<n-1;i++)

ﻩﻩfor(j=0;j

ﻩif(a[j]>a[j+1])

ﻩ{

ﻩﻩt=a[j];

ﻩa[j]=a[j+1];

ﻩﻩa[j+1]=t;

}

}

}

2、完成并调试程序:字符串连接程序,不使用系统提供得字符串连接函数,将第二个字符串连接至第一个字符串后。(横线处仅能补充一条语句).

#include〈stdio、h>

#define M 80

int main(){

char sub1[M],sub2[M];

ﻩchar *ps1=sub1,*ps2=sub2;

ﻩprintf("pleaseinput strings:\n");

printf("string1:");

ﻩgets(ps1);

printf("string2:”);

ﻩgets(ps2);

ﻩwhile(*ps1!=’\0')

_________ps1++________________;

ﻩwhile(*ps2!=’\0’)

_*(ps1++)=*(sp2++)________________________;

*ps1='\0';

printf("new string:”);

puts(sub1);

ﻩreturn 0;

3、完成并调试程序:结构体与数组。实现学生数据得输入、输出与按成绩排序.(横线处仅能补充一条语句)。

#include<stdio、h〉

#include<string、h>

struct student{

intsno;

charsname[10];

float grade;

};

void inputData(struct student s[],intn);

voidprintData(struct student s[],intn);

voidsortData(struct student s[],int n);

intmain(){

structstudent a[100];

intn=3;

inputData(a,n);

sortData(a,n);

printData(a,n);

return0;

}

void inputData(struct students[],int n){

int i;

for(i=0;i〈n;i++){

_scanf(“%s%s%d”,s[i]、sno,s[i]、sname,s[i]、grade)___________________________________________________; /*读入数据*/

void printData(structstudent s[],intn){

inti;

printf(”\n======================\n");

for(i=0;i<n;i++){

__printf(“\n%s%s%4d”,s[i]、sno,s[i]、sname,s[i]、grade)_______________________________________;/*输出数据*/

voidsortData(struct student s[],intn) {

相关文档
最新文档