定义一个职工结构体数组,从键盘上键入5位职工信息,包括姓名、身份证号、工作年龄和工资,打印输出最高的工资
时间: 2024-12-25 17:25:07 浏览: 50
首先,我们可以定义一个名为`Worker`的结构体,包含姓名、身份证号、工作年龄和工资这四个成员变量。然后创建一个结构体数组来存储5位职工的信息。接下来,我们编写一段程序,让用户输入这些信息,并通过循环找出工资最高的员工。
```c
#include <stdio.h>
#include <string.h>
// 定义职工结构体
struct Worker {
char name[50];
char id_number[20];
int work_years;
float salary;
};
int main() {
struct Worker workers[5];
int i;
// 输入5位职工信息
for (i = 0; i < 5; i++) {
printf("请输入第%d位职工信息(姓名、身份证号、工作年数、工资,分别按空格分隔):", i + 1);
fgets(workers[i].name, sizeof(workers[i].name), stdin); // 去除末尾换行符
scanf("%s %d %f", workers[i].id_number, &workers[i].work_years, &workers[i].salary);
}
// 找出最高工资的职工
float max_salary = workers[0].salary;
int max_index = 0;
for (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].id_number);
printf("工作年数:%d\n", workers[max_index].work_years);
printf("工资:%.2f\n", max_salary);
return 0;
}
```
阅读全文