(C言語-構造体)主関数は5人の学生の配列を作成し、1つのソート関数を書いて、学生に名前で小さいから大きいまでソートさせ、主関数はソート後の結果を出力します.

964 ワード

typedef struct student{
    char name[20];//    
}Student;

void sortArr(Student *p, int count);

void sortArr(Student *p, int count){
    for (int i = 0; i < count - 1; i++) {
        for (int j = 0; j < count - 1 - i; j++) {
            if (strcmp((p + j)->name, (p + j + 1)->name) > 0) {//       
                Student temp = *(p + j);
                *(p + j) = *(p + j + 1);
                *(p + j + 1) = temp;
            }
        }
    }
}
int main(int argc, const char * argv[])
{
    //1.     5      ,       ,            ,           。
    Student stu[5] = {
        {"jack"},
        {"tom"},
        {"alin"},
        {"skocl"},
        {"yaoming"}
    };
    Student *p = NULL;
    p = stu;
    sortArr( p, 5);
    printf("       :");
    for (int i = 0; i < 5; i++) {
        printf("%s ",(p + i)->name);
    }