12月11号 结构体排序(按照学生年龄)

#include <stdio.h>

typedef struct student{

    char name[20];

    long id;

    int age;

    float height;

}Student;//定义一个结构体

 

//输入

void input(Student array[]){

    for (int i = 0; i < 3; i++) {

        printf("请输入名字:");

        scanf("%s", array[i].name);

        printf("请输入学号:");

        scanf("%ld", &array[i].id);

        printf("请输入年龄:");

        scanf("%d", &array[i].age);

        printf("请输入身高:");

        scanf("%f", &array[i].height);

        printf("\n");

    }

}

 

//按年龄进行冒泡排序 

void bubbleSort(Student array[], int elementNum){

    Student temp;

    for (int i = 0; i < elementNum-1; i++) {

        for (int j = elementNum - 2;j>=i ;j--) {

            if (array[j].age > array[j+1].age) {

                temp = array[j];

                array[j] = array[j+1];

                array[j+1] = temp;

            }

        }

    }

}

 

int main(int argc, const char * argv[]) {

    Student array[10] = {};

    

    input(array);

    bubbleSort(array,3);

    

    for (int i = 0; i < 3; i++) {

        printf("名字:%s\n学号:%ld\n年龄:%d\n身高:%.1f\n\n", array[i].name, array[i].id, array[i].age, array[i].height);

    }

    return 0;

}

posted @ 2015-12-13 14:05  南城半夏北风过丶  阅读(293)  评论(0编辑  收藏  举报