首页 理论教育 C语言结构类型实训-C语言程序设计教程

C语言结构类型实训-C语言程序设计教程

时间:2023-10-27 理论教育 版权反馈
【摘要】:5.某单位有5位候选人参加选举,每个人的信息包含姓名和得票数。

C语言结构类型实训-C语言程序设计教程

一、实训目的

1.学习结构类型及结构变量的定义。

2.学习结构类型变量的访问和操作。

3.使用结构类型,解决常见的问题。

二、实训内容

1.阅读并运行下面的程序,学习访问结构成员的方法。

提示与分析:

此程序定义了一个结构体struct weather,包含两个float类型的成员temp和wind。在定义结构类型的同时,也定义了该结构的变量today。主函数中通过结构体成员运算符“.”,给成员赋值,并输出成员的值。

2.写出下面程序的运行结果,然后上机验证。

提示与分析:

先定义一个结构体变量s1,及一个结构体指针变量p;然后将p初始化指向s1;通过结构体成员运算符“.”和指向结构体成员运算符“->”给num和score赋值,通过字符拷贝函数strcpy将一个字符串拷贝到字符数组name中。最后输出结构体的成员信息。

3.写出下面程序的运行结果,然后上机验证。

提示与分析:

将一个结构体变量赋值给另一个同类型的结构体变量,其行为是按字节进行复制。尽管结构体中存在数组成员,这种复制也是允许的。

4.下面程序的功能是对一维数组进行排序,请填空并运行该程序。

提示与分析:(www.xing528.com)

①函数fun()接受一个结构指针参数,采用冒泡排序算法对结构中的数据进行排序。main()函数中,调用该函数,并输出排序后的结果。

②函数中的参数为什么被设计成结构指针类型,而不是简单的结构类型?如果将函数原型设计成void fun(struct data s),程序应如何修改?

5.某单位有5位候选人参加选举,每个人的信息包含姓名和得票数。下面是统计每人得票数的程序,请填空并运行该程序。

提示与分析:

①该程序循环读入选票信息(候选人姓名),然后查找并更新该候选人对应的票数。

②如果输入的候选人姓名在数组中不存在,程序是如何处理的?你有什么改进的建议吗?如何实现?(回顾链表的知识)

6.定义一个日期结构变量,计算该日期是本年度的第几天。

7.编写程序,使用结构类型,统计从键盘读入的英文段落中的每个单词的出现次数。

8.编写程序,管理学生信息,每个人的信息包括学号、姓名、三门课程成绩及平均分。

(1)学生信息记录,以动态链表的形式存储。

(2)链表中的记录按平均分降序排列。

(3)实现函数readRecord,从键盘读入多名学生的信息(平均分由程序自动计算)。

(4)实现函数writeRecord,格式化输出所有学生的信息。

(5)在main函数中,测试已实现的函数。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈