资源描述
电子信息学院
实验报告书
课程名: 数据结构
题 目: 复习函数、指针、结构体
实验类别 验证性实验
班 级: BX1108
学 号: 21
姓 名: 周明亮
评语:
实验态度:认真( ) 一般( ) 差( )
实验结果:正确( ) 部分正确( )错( )
实验理论:掌握( ) 熟悉( ) 了解( ) 不懂( )
操作技能:强( ) 一般( ) 差( )
实验报告:好( ) 一般( ) 差( )
成绩: 指导教师:
批阅时间: 年 月 日
《数据结构 》实验报告 - 5 -
1、 实验内容或题目
(1)将1-10存入数组a[10],并将其逆序输出。
(2)用指针方式编写程序:从键盘输入10个整型数据,并存入数组,要求将10个数中最大的数与第1个输入的数交换;将10个数中最小的数与最后1个输入的数交换。
(3)有5个学生,每个学生的数据包括学号、姓名、三门课的成绩、平均分。
要求:从键盘依次输入5个学生的学号、姓名、三门课成绩,自动计算三门的平均分,并将5个学生的数据在屏幕上输出。
2、 实验目的与要求
(1) 复习C(或C++)语言数组的用法;
(2) 复习C(或C++)语言指针的用法;
(3) 复习C(或C++)语言结构体的用法;
(4) 理解算法时间复杂度分析的基本方法;
(5) 通过实验程序,分析它们的时间复杂度。
3、 实验步骤与源程序
⑴ 实验步骤
将书本上的参考程序依次输入电脑中,首先进行编译,接着连接,然后运行,最后将调试数据录入到dos窗口中,接着检查得到的数据运行结果是否正确!
⑵ 源代码
1) #include <stdio.h>
void main()
{
int i,a[10];
for(i=0;i<=9;i++)
a[i]=i;
for(i=9;i>=0;i--)
printf("%3d",a[i]);
printf("\n");
}
2)#include <stdio.h>
void main()
{
int a[10],*p,*max,*min,k;
for(p=a;p<a+10;p++)
scanf("%d",p);
max=min=a;
for(p=a+1;p<a+10;p++)
{
if(*max<*p)
max=p;
if(*min>*p)
min=p;
}
p=a;
if(*max==*(p+9)&&*min==*p)
{
k=*p;*p=*(p+9);*(p+9)=k;
}
else if(*max==*(p+9))
{
k=*max;*max=*p;*p=k;k=*min;*min=*(p+9);*(p+9)=k;
}
else
{
k=*min;*min=*(p+9);*(p+9)=k;k=*max;*max=*p;*p=k;
}
for(p=a;p<a+10;p++)
printf("%4d",*p);
printf("\n");
}
3)#include "stdio.h"
struct STUDENT
{
char id[10];
char name[8];
int score[3];
double ave;
}stu[5];
void main()
{
int num=5,i,j;
for(i=0;i<num;i++)
{
printf("\t请输入第%d学生的数据",i+1);
printf("\t学号:");
scanf("%s",stu[i].id);
printf("\t姓名:");
scanf("%s",stu[i].name);
int Tave=0;
for(j=0;j<3;j++)
{
printf("\t第%d门课的成绩:",j+1);
scanf("%d",&stu[i].score[j]);
Tave+=stu[i].score[j];
}
stu[i].ave=(double)Tave/3.0;
}
printf("\n\t学号\t姓名\t成绩1\t成绩2\t成绩3\t平均分\n");
for(i=0;i<num;i++)
{
printf("\t%s\t%s",stu[i].id,stu[i].name);
for(j=0;j<3;j++)
printf("\t%d",stu[i].score[j]);
printf("\t%f\n",stu[i].ave);
}
}
4、 测试数据与实验结果(可以抓图粘贴)
实验内容1:运行结果
实验内容2:运行结果
实验内容3:运行结果
5、 结果分析与实验体会
实验内容1:利用两个简单的循环结构完成程序,第一个循环将10个数放入数组中,第二个循环将10个数输出。
实验内容2:利用指针结构实现数的交换,然后是将数组中的数依次输出得出结果。
实验内容3:利用结构体储存学号,姓名,3门课的成绩,另外还有平均分,经过相应的计算与赋值,将学号姓名,及其成绩加平均分所得出的结果输出。
体会:本次验证性实验主要复习了数组、指针、结构体的练习,让我们更加充分的了解到语言数组,语言指针及语言结构体在数据结构的地位,为了更好的学习数据结构,我们需要认真的复习好c语言的相关知识,为今后的数据结构学习扫清障碍!
展开阅读全文