在C语言中,结构体是一种复合数据类型,它允许我们将不同类型的数据组合在一起形成一个新的数据类型。在这个例子中,我们创建了一个表示职工信息的结构体,包括姓名、部门和工资等属性。接着,我们使用结构体数组来存储多个职工的信息,并通过键盘输入来填充这些信息。最终,我们的目标是找出并打印出最高工资的职工。 我们需要定义结构体类型。假设每个职工有以下属性: 1. `name`:职工的名字,通常用字符串表示。 2. `department`:职工所在的部门,也是一个字符串。 3. `salary`:职工的工资,可以使用整数或浮点数表示。 定义结构体的代码如下: ```c #include <stdio.h> #include <string.h> #define MAX_NAME_LENGTH 20 #define MAX_DEPARTMENT_LENGTH 20 typedef struct { char name[MAX_NAME_LENGTH + 1]; char department[MAX_DEPARTMENT_LENGTH + 1]; float salary; } Worker; ``` 这里,`typedef` 关键字创建了一个新的类型名 `Worker`,使得我们可以更方便地使用这个结构体。`MAX_NAME_LENGTH` 和 `MAX_DEPARTMENT_LENGTH` 是常量,用来限制名字和部门的最大长度。 接下来,我们需要创建一个 `Worker` 类型的数组,以存储5位职工的信息。在C语言中,可以这样声明: ```c Worker workers[5]; ``` 然后,我们通过循环从键盘接收用户输入,填充结构体数组: ```c for (int i = 0; i < 5; i++) { printf("请输入第 %d 位职工的姓名、部门和工资(用逗号分隔):\n", i + 1); fgets(workers[i].name, MAX_NAME_LENGTH + 1, stdin); fgets(workers[i].department, MAX_DEPARTMENT_LENGTH + 1, stdin); scanf("%f", &workers[i].salary); // 清除换行符,避免影响后续输入 getchar(); } ``` 在这里,`fgets` 用于读取字符串,而 `scanf` 用于读取浮点数。注意,`getchar()` 用于清除输入缓冲区中的换行符,以免影响下一个输入。 我们要找出并打印最高工资的职工信息。可以通过遍历整个数组,用一个变量记录最高工资,同时保存对应的职工信息: ```c float max_salary = workers[0].salary; int max_index = 0; for (int i = 1; i < 5; i++) { if (workers[i].salary > max_salary) { max_salary = workers[i].salary; max_index = i; } } printf("最高工资的职工信息如下:\n"); printf("姓名:%s\n", workers[max_index].name); printf("部门:%s\n", workers[max_index].department); printf("工资:%f\n", max_salary); ``` 以上就是利用C语言结构体数组处理职工信息,找出并打印最高工资的完整过程。这个例子展示了如何定义结构体,使用数组存储结构体实例,以及如何遍历数组来查找特定条件下的数据。在实际编程中,这样的技巧非常常见,对于理解和掌握C语言的结构体和数组操作具有重要意义。








































- 1


- 粉丝: 19
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 前端程序员自荐信范文6篇(1).docx
- 计算机网络名词解释(1).docx
- 毕业设计(论文)-CAD模型局部区域分割与检索技术研究(1).doc
- 计算机管理制度(5)(1).doc
- 论水利水电工程档案管理中信息化手段的应用(1).docx
- 旅游类网站商业计划书(1).docx
- 数据库课程设计心得体会范文(1).docx
- 数控编程基础知识教学(1).ppt
- UML用例和用例图(1).ppt
- 自动化项目升级改造方案(1).docx
- 电子商务环境下企业财务管理模式【会计实务经验之谈】(1).doc
- 论仓库管理系统软件测试计划(1).docx
- 第十四章基因工程与蛋白质工程讲课文档(1).ppt
- 遥控操作安全约束系统介绍西安润恒软件有限公司(1).pptx
- 个人软件外包合同范本(1).doc
- 【水电暖安装包工合同】2013-9-9(1).doc


