四川师范大学数学与软件科学学院程序设计实验报告实验九(推荐文档) 下载本文

内容发布更新时间 : 2024/4/28 3:30:20星期一 下面是文章的全部内容请认真阅读。

数学与软件科学学院 实验报告

一、实验目的

(1) 掌握C语言环境下结构体和共用体类型变量的定义和使用方法; (2) 掌握结构体类型数组的概念和使用;

(3) 掌握指向结构体变量的指针变量、尤其是链表概念;

二、实验内容

1. 首先熟悉结构体类型变量的基本声明方法、结构体类型变量的内存分配原则、初始化和引用结构体变量及其成员变量的基本方法;然后掌握结构体变量的输入、输出方法。(参见教材例7.1,请给该例加上输入功能)

#include

struct person { main() {

for(i=1;i<=10;i++) { }

scanf(\for(j=0;j<3;j++) { }

if(strcmp(leader_name,leader[j].name)==0)

leader[j].count++;

int i,j;

char leader_name[20]; char name[20]; int count;

}leader[3]={\

}

2.基于结构体数组的应用实验。

(1) 有n个学生,每个学生的数据包括学好(num)、姓名(name[20])、性别(sex)、年龄(age),以及三门课程的成绩(score[3])。要求:在main()函数中输入这些学生的这些数据,然后设计一个函数count()来计算每个学生的总分和平均分,最后,打印出所有数据信息(包含原来输入的学生原始数据信息和求解出来的新信息)。

for(i=0;i<3;i++)

printf(\

#include

#define N 3 #define M 3

typedef struct student {

int score[N]; char name[20]; int sex; int age;

char num[20]; }STUDENT;

main() {

STUDENT stu[M]; int i,j,average,total; char name[20];

clrscr();

for(i=0;i

fflush(stdin);

printf(\ scanf(\

fflush(stdin);

}

printf(\scanf(\fflush(stdin);

printf(\

printf(\scanf(\fflush(stdin);

printf(\scanf(\

for(j=0;j

printf(\ scanf(\}

for(i=0;i

printf(\ }

for(j=0;j

printf(\}

for(i=0;i

total=0;

for(j=0;j

total=total+stu[i].score[j]; stu[i].score[N]=total/N; } }

for(i=0;i

{

for(j=0;j

printf(\ } } }

3.用结构体变量作函数参数。 #include

struct data {

int a,b,c; };

main() {

void func(struct data); struct data arg; arg.a=27; arg.b=3;

arg.c=arg.a+arg.b;

printf(\ printf(\ func(arg);

printf(\}

void func(struct data parm) {

printf(\parm.b=%d parm.c=%d\\n\ printf(\ parm.a=18; parm.b=5;

parm.c=parm.a*parm.b; printf(\parm.b=%d parm.c=%d\ printf(\}

三、实验准备

(1) 复习有关结构体方面的所有知识,尤其是7.6节所学的动态存储分配技术;

(2) 编写所选实验题目的程序代码和流程图; (3) 检查源程序并给出其可能的运行结果说明。

四、实验步骤

(1) 上机验证所选题目的程序设计结果,并做相应测试和分析; (2) 进行实验分析;

(3) 总结结构体程序设计和实现的基本方法及其经验,尤其是链表技术; (4) 编写实验报告。

五、实验结果

1. 首先熟悉结构体类型变量的基本声明方法、结构体类型变量的内存分配原则、初始化和引用结构体变量及其成员变量的基本方法;然后掌握结构体变量的输入、输出方法。 统计候选人选票:

2.基于结构体数组的应用实验。

(1) 有n个学生,每个学生的数据包括学好(num)、姓名(name[20])、性别(sex)、年龄(age),以及三门课程的成绩(score[3])。要求:在main()函数中输入这些学生的这些数据,然后设计一个函数count()来计算每个学生的总分和平均分,最后,