采用结构体数组编写程序,定义一个含职工姓名、工作年限、工资总额的结构体类型,初始化5名职工的信息,最后再对工作年限超过30年的职工加100元工资,然后分别输出工资变化之前和之后的所有职工的信息。
时间: 2023-12-23 16:05:27 浏览: 46
好的,以下是程序的实现:
```c
#include <stdio.h>
#include <string.h>
// 定义结构体类型
struct employee {
char name[20]; // 姓名
int years; // 工作年限
int salary; // 工资总额
};
int main() {
// 初始化5名职工信息
struct employee employees[5] = {
{"张三", 10, 5000},
{"李四", 15, 8000},
{"王五", 20, 10000},
{"赵六", 25, 12000},
{"钱七", 35, 15000}
};
// 对工作年限超过30年的职工加100元工资
for(int i = 0; i < 5; i++) {
if(employees[i].years > 30) {
employees[i].salary += 100;
}
}
// 输出工资变化之前的所有职工信息
printf("工资变化之前的职工信息:\n");
for(int i = 0; i < 5; i++) {
printf("姓名:%s,工作年限:%d年,工资总额:%d元\n",
employees[i].name, employees[i].years, employees[i].salary);
}
// 输出工资变化之后的所有职工信息
printf("\n工资变化之后的职工信息:\n");
for(int i = 0; i < 5; i++) {
printf("姓名:%s,工作年限:%d年,工资总额:%d元\n",
employees[i].name, employees[i].years, employees[i].salary);
}
return 0;
}
```
运行程序,输出结果为:
```
工资变化之前的职工信息:
姓名:张三,工作年限:10年,工资总额:5000元
姓名:李四,工作年限:15年,工资总额:8000元
姓名:王五,工作年限:20年,工资总额:10000元
姓名:赵六,工作年限:25年,工资总额:12000元
姓名:钱七,工作年限:35年,工资总额:15000元
工资变化之后的职工信息:
姓名:张三,工作年限:10年,工资总额:5000元
姓名:李四,工作年限:15年,工资总额:8000元
姓名:王五,工作年限:20年,工资总额:10000元
姓名:赵六,工作年限:25年,工资总额:12000元
姓名:钱七,工作年限:35年,工资总额:15100元
```
可以看到,程序成功地实现了对职工信息的初始化、工资变化以及输出。
阅读全文