第五次高级语言程序设计实验报告 高级语言程序设计实验报告 c语言程序设计实验报告 大一 南邮.doc
高级语言程序设计实验报告
实验名称C语言第五次上机实验实验类型验证演示综合设计班级38班学号0座机电话号码姓名邹舒 指导教师余永宏成 绩 一、实验目的
学会建立和使用结构体、共同体;
学会利用结构体函数进行参数的传递;
能够建立和操作链表。
二、实验内容
结构体内容
struct Student int no ; //表示学号 char name[10];//表示姓名 int score ;//表示课程得分 1 在main函数中初始化一个struct Student stu[5]数组,编程统计数组中得分的和以及不几个人数。
2 在main函数中定义一个struct Student stu[5]数组,通过键盘输入的方式给数组中
的每个结构体变量赋初值,然后在键盘输入一个字符串,查询stu数组中是否有学生
的姓名和输入的字符串内容相等。
3 在第二题基础上,查询姓名匹配的学生信息如存在,调用 void print struct Student stu 打印此学生完整信息:学好、姓名、得分。
链表内容
struct Person int id ; //表示编号 char name[10];//表示姓名 int score ;//表示课程得分 struct Person *next;//结构体指针变量 1 使用struct Person 结构体,从键盘输入5个 Person 的信息,调用函数 struct Person *create int n 完成链表创建。
编程实现main 和struct Person *create int n 函数。
2 给定链表的首节点地址,编程实现函数void print struct Person *h ,打印题1中创建的链表中每个struct Person 变量的完整信息。
3 给定链表的首节点地址,从键盘输入一字符串,查询链表中是否有节点的姓名与输入的字符串相同,如存在,调用 void print struct Person person 函数打印此节点的完整信息。
4 给定链表的首节点地址,从键盘输入一字符串,查询链表中是否有节点的姓名与输入的字符串相同,如存在,删除此节点。调用 void delete struct Person *h,char name[] 函数实现,删除完成后,打印链表完整信息。
三、源程序
结构体内容:
1:
#include
struct student int no;
char a[10];
int score;
;
void main struct student stu[5] 01,"毛毛",60 , 02,"军军",59 , 03,"乐乐",62 , 04,"二毛",78 , 05,"三毛",85 ;
int i;
int j 0;
int p 0;
for i 0;i 5;i++ p p+stu[i].score;
if stu[i].score 60 j++; printf "五位同学的成绩和为%d\n",p ;
printf "不及格的同学有%d位\n",j ; 2:
#include
#include
struct student int no;
char a[10];
int score;
;
void main struct student stu[5];
int i,j;
printf "请输入五个学生的数据:\n" ;
for i 0;i 5;i++ scanf "%d",&stu[i].no ;
for j 0;j 10;j++ scanf "%s",&stu[i].a[i] ; scanf "%d",&stu[i].score ; printf "您输入的数据为:\n" ;
for i 0;i 5;i++ printf "%d",&stu[i].no ;
for j 0;j 10;j++ printf "%s",&stu[i].a[i] ; printf "%d",&stu[i].score ;
printf "\n" ; char b[10] ;
printf "请您输入要查询的学生的姓名:\n" ;
scanf "%s",b ;
for i 0;i 5;i++ if strcmp stu[i].a,b 0 printf "有您要查询的学生信息:\n" ; else printf "查无此人!\n" ; 3:
#include
#include
struct student int no;
char a[10];
int score;
;
void main struct student s