实验(实习)名称 结构体及其应用 日期 2019.6.7 得分 指导老师 系 专业 年级 2018级 班次 班 姓名 学号
一、实验目的
1.掌握结构体变最与结构体数组的定义和使用。
2.学会使用结构体指针变量和结构体指针数组。
3.掌握链表的概念,初步学会对链表进行操作。
二、实验内容
(1)输人10个学生的学号、姓名和成绩,求出其中的高分者和低分者。 #include<stdio.h>
struct student
{
int num;
char name[20];
int score;
};
int main( )
{
int i;
struct student st,stmax,stmin;
stmax.score=0 ;stmin.score=100 ;
printf("\n input data");
for(i=0;i<10;i++)
{
scanf("%d%s%d",&st.num,&st.name,&st.score);
for(i=0;i<10;i++)
常德水表厂{
scanf("%d%s%d",&st.num,st.name,&st.score);
if(st.score<stmin.score)
stmax=st;
if(st.score<stmin.score)
stmin=st;
}
printf("\n hight:%5d%15s%5d",stmax.num,stmax.name,stmax.score);
printf("\n low:%5d%15s%5d",stmin.num,stmin.name,stmin.score);
return 0;
}}分析程序,上机运行程序。
1.程序中,哪些是对结构体变量成员的引用,哪些是整体引用。
2.对于此例来说,用结构体变量作为数据结构有何优越性。
f-22p
(2)有一学生情况如下表所示。编制一个C程序,用冒泡法对该学生情况表按成绩(grade)从低到高进行排序。
学号 | 姓名 | 性别 | 年龄 | 成绩 |
101 | zhang | M | 19 | 95.6 |
102 | 郑和下西洋的条件wang | F | 何其莘18 | 92.2 |
103 | zhao | M | 19 | 85.7 |
104 | li | M | 20 | 96.3 |
105 | gao | 大气稳定度分级 M | 19 | 90.2 |
106 | lin | M | 18 | 91.2 |
107 | ma | F | 18 | 98.7 |
108 | zhen | M | 21 | 88.7 |
109 | xu | M | 19 | 90.1 |
110 | mao | F | 22 | 94.7 |
| | | | |
受弯构件挠度
具体要求如下。
1.结构体类型为
Struct student
{
Int num;
Char name[8];
Char sex;
Int age;
Double grade;
}
2.在程序中用一个结构体指针数组,其中每一个指针元素指向结构体类型的各元素。
3.在程序中,首先输出排序前的学生情况,然后输出排序后的结果,其格式形式如上表所示。
(3)链表基本操作,具体要求如下。
1.初始时链表为空,即链表的头指针为空。
2.对于上表所示的学生情况,依次将每个学生的情况作为一个结点插入单链表的链头(即当前插入的结点将成为第一个结点)。
3.所有学生情况都插入链表后,从链头开始,依次输出链表中的各节点值(即每个学生的情况)。输出格式如同上表。
三、实验步骤
第一个程序输入后
对结构体变量成员的引用:st.num,st.name,st.score
整体引用:struct student
结构体变量作为数据结构有何优越性: 组织在一起,而不是分为多个变量,可以整体操作,比如赋值.
第二个程序为
#include <stdio.h>
#define N 10
struct student
{
int num;