#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