大一上期C语言实验报告9 结构体与共用体 下载本文

程序设计基础实验报告

实验9

成都工业学院·计算机工程学院 《C语言程序设计基础》实验报告

实验名称 学院 姓名 任课老师 实验9结构体与共用体 计算机工程学院 专业班级 学号 实验时间 计算机科学与技术1班 90分钟 1. 实验目的

(1)掌握结构体类型变量的定义和使用; (2)掌握结构体类型数组的概念和使用;

(3)掌握链表的概念,初步学会对链表进行操作; (4)掌握共用体的概念和使用。

2. 实验内容

(1)输入某天的日期,计算该天在给定年份中是第几天。 要求

1.定义包含年,月,日信息的结构体类型。 2.利用scanf函数输入年,月,日的值。

3.输出日期以及该日期是给定年份中的第几天。 4.需要对闰年做判定。

(2)在一个结构体数组中,存有三个人的姓名和年龄,输出三人中年龄居中者的姓名和年龄。 要求

1.三个人的数据采用直接初始化方式赋值。 2.利用结构体指针实现处理过程。

(3)输入6名学生的学号,姓名和三门课程的成绩,三门课程的名称:(programming,database,network),存入到一个结构体数组中;编写aveScore()函数,其功能是计算学生三门课程的平均成绩,并存到结构体数组中;在主函数中输入学生信息,调用aveScore()函数,并输出学生的姓名和平均分信息。

要求:

1.定义结构体类型,包括long snum,char name[],int score[],float ave变量,分别表示学生的学号,姓名,成绩数组和平均分。

2.在主函数中输入学生的学号,姓名,和三门课成绩。

3.调用aveScore()函数,计算学生的平均成绩,存入到结构体函数的ave变量中。

4.在主函数中输出每个学生姓名和平均分信息。

3. 源程序

(1)输入某天的日期,计算该天在给定年份中是第几天 #include 1 struct date {int year;int month; int day;} tian;//定义结构体 void main() 程序设计基础实验报告

实验9

(2)输出三人中年龄居中者的姓名和年龄 #include struct date{char name[10];int age;};struct date *t,p[3]={{\//初始化 void main() {int i,j;struct date temp;t=p; for(i=0;i<3;i++) for(j=i;j<=3;j++) {if((t+i)->age<(t+j)->age) {temp=*(t+i);*(t+i)=*(t+j);*(t+j)=temp;}}//将三个人按年龄排序 printf(\ (3)记录6个学生3门成绩,并计算平均值 #include struct student {long num;char name[10];int pro;int data;int net;float aver;}s[6]; void main() {struct student *p; printf(\//输入学号,姓名,成绩 for (p=s;paver=aveScore(p->pro,p->data,p->net); printf(\ float aveScore(int a,int b,int c)//计算平均值函数 {float ave; ave=(float)(a+b+c)/3; return ave;} 4. 运行结果 2

程序设计基础实验报告

实验9

(1)输入某天的日期,计算该天在给定年份中是第几天

(2)输出三人中年龄居中者的姓名和年龄

(3)记录6个学生3门成绩,并计算平均值

5. 出现问题及解决办法

3