欢迎来到天天文库
浏览记录
ID:23547564
大小:145.50 KB
页数:20页
时间:2018-11-08
《计算机综合训练实验指导书》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、《计算机综合训练》实验指导书1818综合训练一结构体及结构体数组一、实验学时6学时二、实验目的1.掌握结构体类型变量和结构体数组的定义和初始化;2.掌握结构体数组的输入和输出;3.掌握在相关算法中结构体数组的应用。三、实验内容1. 在解决实际问题时,单独用单个的结构体类型变量的很少,一般是以结构体类型数组的形式出现,结构体数组就是具有相同结构类型的变量集合。例如:若将一个班级20个同学的姓名、性别、学号和三科考试成绩进行定义,可以定义成一个结构体数组。如下所示: struct/*定义学生结构体类型*/{charname[20];/*学生姓名*/charsex;/*性别
2、*/longnum;/*学号*/floatscore[3];/*三科考试成绩*/}stud[20];/*定义结构体类型数组stud,数组有20个结构体类型元素*/ 也可定义为: structstu/*定义学生结构体类型*/{charname[20];/*学生姓名*/charsex;/*性别*/longnum;/*学号*/floatscore[3];/*三科考试成绩*/};structstustud[20];/*定义结构体类型数组,有20个结构体类型元素*/ 结构体数组成员的访问形式为:结构数组元素.成员名 其数组元素各成员的引用形式为:stud[0].name
3、、stud[0].sex、stud[0].score[i];1818stud[1].name、stud[1].sex、stud[1].score[i];......stud[19].name、stud[19].sex、stud[19].score[i];2.下面的程序在结构体数组worker中存放5个工人的数据包括编号、姓名、年龄、工资,注意观察数据的输入和输出方法。structwork/*职工基本情况*/{charnum[10];/*工号*/charname[10];/*姓名*/intage;/*年龄*/intsalary;/*工资*/}worker[5];main()
4、{inti;for(i=0;i<5;i++){scanf("%s%s",worker[i].num,worker[i].name);/*输入工号和姓名*/scanf("%d%d",&worker[i].age,&worker[i].salary);}/*输入年龄和工资*/for(i=0;i<5;i++){printf("%st%st%dt%d",worker[i].num,worker[i].name,worker[i].age,worker[i].salary);}}3.下面的程序在结构体数组worker中存放5个工人的编号和姓名,用gets和puts函数,注
5、意观察数据的输入和输出方法:#include“stdio.h”structwork{charnum[10];charname[10];};main(){inti;structworkworker[5];for(i=0;i<5;i++){gets(worker[i].num);/*输入工号*/gets(worker[i].name);/*输入姓名*/}1818for(i=0;i<5;i++){puts(worker[i].num);printf("");/*输出工号*/puts(worker[i].name);printf("");/*输出姓名*/}}4.若有一个可以包
6、含20个学生的信息的结构体数组,结构体成员有学号、姓名、语文、数学、英语和平均分,编程实现对于这20个学生的结构体数组的输入和输出及求出每个学生的平均分,参考程序如下。#includestructstudent/*定义学生结构体类型*/{intno;/*学号*/charname[20];/*学生姓名*/intchinese;/*语文成绩*/intmaths;/*数学成绩*/intenglish;/*英语成绩*/floatave;/*平均成绩*/}stu[20];/*定义结构体类型数组,有20个结构体类型元素*/main(){inti,length=0,n
7、;printf("Inputthenumberofstudent:");scanf("%d",&n);/*输入实际学生人数*/for(i=length;i
此文档下载收益归作者所有