定义一个包含5个教师成员的结构体数组,教师信息包括职工号、姓名和工资。要求从键盘输入所有教师的信息,并设计一个sort函数实现结构体数组按教师工资由少到多排序。目前,已编辑完成main函数,请编程实现input函数、output函数和sort函数,分别实现教师信息的录入、输出与排序。函数要求为指针函数
时间: 2023-06-13 09:08:13 浏览: 85
下面是题目所需的代码:
```c
#include <stdio.h>
#include <string.h>
struct Teacher {
int id;
char name[20];
float salary;
};
void input(struct Teacher *t, int n) {
int i;
for(i = 0; i < n; i++) {
printf("请输入第%d个教师的职工号、姓名和工资:", i+1);
scanf("%d%s%f", &t[i].id, t[i].name, &t[i].salary);
}
}
void output(struct Teacher *t, int n) {
int i;
for(i = 0; i < n; i++) {
printf("职工号:%d\t姓名:%s\t工资:%.2f\n", t[i].id, t[i].name, t[i].salary);
}
}
void sort(struct Teacher *t, int n) {
int i, j;
struct Teacher temp;
for(i = 0; i < n-1; i++) {
for(j = 0; j < n-i-1; j++) {
if(t[j].salary > t[j+1].salary) {
temp = t[j];
t[j] = t[j+1];
t[j+1] = temp;
}
}
}
}
int main() {
struct Teacher teachers[5];
input(teachers, 5);
sort(teachers, 5);
output(teachers, 5);
return 0;
}
```
在这个程序中,我们定义了一个名为`Teacher`的结构体,包含了职工号、姓名和工资。`input`函数用来从键盘输入所有教师的信息,`output`函数用来输出所有教师的信息,`sort`函数实现结构体数组按教师工资由少到多排序。在`main`函数中,我们定义了一个长度为5的`Teacher`类型的数组,然后调用`input`函数、`sort`函数和`output`函数,最后返回0表示程序执行成功。
阅读全文