c语言实训报告模板Word格式.docx
- 文档编号:20050479
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:5
- 大小:16.34KB
c语言实训报告模板Word格式.docx
《c语言实训报告模板Word格式.docx》由会员分享,可在线阅读,更多相关《c语言实训报告模板Word格式.docx(5页珍藏版)》请在冰豆网上搜索。
输入事先已编好的程序,并运行该程序。
分析运行结果是否正确。
实验内容2:
建立一个链表,每个结点包括:
学号、姓名、性别、年
龄。
输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删去。
用链表实现。
主要仪器设备
仪器:
计算机
实验环境:
WindowsXP+VisualC++
实验原理
实验1的N-S图如下:
图片已关闭显示,点此查看
实验2的N-S图如下:
creat函数:
print函数:
del函数:
主函数:
源程序
实验1的源程序如下:
#include
structstudent
{
intnumber;
charname[10];
intclasses[3];
intaverage;
}stu[5];
voidinput(structstudent*p)
inti;
for(i=0;
i {
printf("
Pleaseinput%dthstudent'
sdata:
"
i+1);
scanf("
%d%s%d%d%d"
&
p->
number,p->
name,&
classes[0],&
classes[1],&
classes[2]);
}
average(structstudent*p)
intm=0;
m=p->
classes[0]+p->
classes[1]+p->
classes[2];
m=m/3;
p->
average=m;
return(m);
structstudent*max(structstudent*p,intj)
inti,n;
structstudent*q;
i if(p->
classes[j]>
=n)
n=p->
classes[j];
q=p;
return(q);
voidmain()
inti,m[5];
structstudent*p;
input(stu);
p=stu;
m[i]=average(&
stu[i]);
The%s'
saveragescoreis:
%d"
p->
name,m[i]);
p=max(stu,i);
Theclasses%d'
smaxscoreis:
%d%s%d%d%d%d"
i+1,p->
name,p->
classes[0],p->
classes[1],p->
classes[2],p->
average);
实验2的源程序如下:
#defineNULL0
#defineLENsizeof(structstudent)
charnum[10];
charsex;
intage;
structstudent*next;
};
intn;
structstudent*creat(void)
structstudent*head;
structstudent*p1,*p2;
n=0;
p1=p2=(structstudent*)malloc(LEN);
%s%s%c%d"
p1->
num,p1->
p1->
sex,&
age);
head=NULL;
while(p1->
age!
=0)
n=n+1;
if(n==1)
head=p1;
else
p2->
next=p1;
p2=p1;
p1=(structstudent*)malloc(LEN);
next=NULL;
return(head);
voidprint(structstudent*head)
Now,These%drecordsare:
n);
p=head;
if(head!
=NULL)
do{printf("
num,p->
sex,p->
p=p->
next;
}while(p!
=NULL);
structstudent*del(structstudent*head,intnum)
if(head==NULL)
listnull!
);
p1=head;
while(num!
=p1->
age&
&
next!
p1=p1->
if(num==p1->
age)
if(p1==head)
head=p1->
next=p1->
delete:
num);
n=n-1;
%dnotbeenfound!
structstudent*head,*stu;
intdel_num;
inputrecords:
head=creat();
print(head);
inputthedeletednumber:
del_num);
while(del_num!
head=del(head,del_num);
实验步骤与调试
实验1:
运行时未发生任何错误,结果正确。
实验2:
运行时提示语法错误,原因是输入语句写为了
“scanf("
%s%s%d%d"
name,p1->
”
将起改为“scanf("
”,成功运行,但是结果却错误,再检查,发现原因还是输入语句:
应该改为“scanf("
%s%s%c%d"
”运行后,结果正确。
实验结果与分析
实验1的结果如下:
实验2的结果如下:
分析:
利用结构体可以很好的对各类数据进行组合,而且还很容易引用。
对于学生的数据有多个,而且数据类型都不相同,首选可用结构体来存放。
对结构体的变量成员的引用要注意引用的格式。
它不同于普通变量的引用方式,它要有结构体名加一点再加变量名来引用。
在输入时,也应注意输入的成员的类型。
利用链表对结构体的处理是一种很好的方法。
它是线性存储的,可以动态的分配空间,根据需要开辟内存单元,减少对空间的浪费,而且对于数据的删除和添加,它并不需要利用额外的空间对以存放好的数据进行移动或交换。
链表是利用指针来实现的操作的。
大学
学院实验报告
专业名称实验室实验课程C实验名称姓 名学 号同组人员实验日期
语言程序设计程序设计1
2
3
4
5
6
7
8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 报告 模板
![提示](https://static.bdocx.com/images/bang_tan.gif)