結構體基礎

#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

發佈了39 篇原創文章 · 獲贊 22 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章