#include <stdio.h>
#include <stdlib.h>
typedef struct _Teacher {
char name;
int age;
} Teacher;
// 打印结构体成员age
int print_t(Teacher *p, int count)
{
int i = 0;
for (i=0; i<count; i++){
printf("%d: %d\n", i+1, p[i].age);
}
return 0;
}
// 按照年龄对结构体进行排序
int sort_t(Teacher *p, int count)
{
int i = 0, j = 0;
int tmp = 0;
for (i=0; i<count; i++){
for (j=i+1; j<count; j++){
if (p[i].age > p[j].age){
tmp = p[i].age;
p[i].age = p[j].age;
p[j].age = tmp;
}
}
}
return 0;
}
int main(void)
{
Teacher t_arr[3];
int i = 0, count = 3;
for (i=0; i<3; i++){
printf("请输入第%d位老师的年龄:", i+1);
scanf("%d", &t_arr[i].age);
}
printf("-----排序之前-----\n");
print_t(t_arr, count);
printf("-----排序之后-----\n");
sort_t(t_arr, count);
print_t(t_arr, count);
return 0;
}
执行后的效果:
[root@Mysql-dev struct]# ./struct_1
请输入第1位老师的年龄:45
请输入第2位老师的年龄:30
请输入第3位老师的年龄:28
—–排序之前—–
1: 45
2: 30
3: 28
—–排序之后—–
1: 28
2: 30
3: 45