基本信息
文件名称:高级语言程序设计(CC++版) 课件 第8章 结构体.pptx
文件大小:122.8 KB
总页数:23 页
更新时间:2025-05-27
总字数:约1.37千字
文档摘要

第8章结构体;目录;为什么引入结构体;1.定义结构体类型;2.定义结构体变量;3.引用结构体成员;如果结构体的某成员又是一个结构体类型变量,那么必须以级联的方式访问该变量。;例8.1:好多同学报名参加了英语俱乐部举办的“英文金曲歌唱大赛”活动,每名选手均有5位评委打分,对每名选手去掉一个最高分、去掉一个最低分,再计算剩下打分的平均分(结果精确到小数点后两位)。

输入:测试数据包括多个实例,每个实例一行,包括选手姓名,随后是5个实数代表评委打分。

输出:每位选手姓名和最终得分。;4.结构体数组与指针;例8.2:潘小姐比武招亲,第一关是身高要合格。潘小姐发现小明擅长编程,所以把首轮根据身高进行选拨的任务交给了小明,如果程序编得好,小明就可以直接进入下一轮选拨,于是小明开心地笑了。

输入:首先输入一个整数n(1=n=100),表示n名竞选者;然后是n行数据,每行是参加竞选者的姓名name(name无空格且长度20)和身高h(0h100);最后一行是两个整数a,b表示身高的合格范围[a,b]。

输出:把身高合格的竞选者信息按身高从高到低输出,格式与输入相同。;例8.3:从键盘输入若干个学生的信息,每个学生信息包括学号、姓名、3门课的成绩,计算每个学生的总分,输出总分最高的学生的信息。

输入:首先输入一个整数n(1=n=100),表示学生人数,然后输入n行,每行包含一个学生的信息:学号(12位)、姓名(不含空格且不超过20位),以及三个整数,表示语文、数学、英语三门课成绩,数据之间用空格隔开。

输出:输出总成绩最高的学生的学号、姓名、及三门课成绩,用空格隔开。若有多个最高分,只输出第一个。;5.结构体与单链表;例8.4:n只猴子围坐成一个圈,按顺时针方向从1到n编号。然后从1号猴子开始沿顺时针方向从1开始报数,报到m的猴子出局,再从刚出局猴子的下一个位置重新报数,…,直至剩下一个猴子它就是大王。

输入:输入两个整数n和m,1=m=n=100。

输出:输出猴王的编号。;6.共用体类型;例8.5:有多名教师和学生参加会议,学生的数据包括:姓名、性??、职业、班级,教师的数据包括姓名、性别、职业、职务。要求用结构体和共用体编程实现输入输出。

输入:输入一个正整数n(n10)及n名教师或学生的信息。

输出:输出n名教师或学生的信息。;7.枚举类型;例8.6:口袋中有红、黄、蓝、白、黑5种颜色的球各一个。每次从口袋中先后取出3个球,问得到3种不同颜色的球的可能取法,输出每种取法。

输入:无。

输出:每种取法(按红、黄、蓝、白、黑字典序)。;8.用typedef声明新类型名;用typedef声明新类型名;用typedef声明新类型名;例8.7:一个藏宝山洞出现在阿里巴巴面前,山洞里堆满了n件宝物,每件物品有价值和质量两种属性。可是阿里巴巴身上只有一个口袋,他只能挑选三件宝物。请按价值降序,若价值相同则按质量升序排列一下这n件宝物。

输入:第一行输入一个整数n(1=n=1000)表示n件宝物;第二行有n个正整数pi代表每件物品的价值,第三行有n个正整数wi代表每件物品的质量(1pi,wi10000)。

输出:输出共n行,每行两个数pi,wi,顺序如题所述。;例8.8:二叉排序树;