本文共 1342 字,大约阅读时间需要 4 分钟。
对结构体数组进行冒泡排序(根据名字大小)
typedef struct avperson{ char name[30]; int age; char bust; char product[50];}AVPerson;AVPerson per1 = {"cangJingKong", 25, 'D', "secondDream"}; AVPerson per2 = {"longZeLuoLa", 22, 'C', "daMingGong"}; AVPerson per3 = {"buoDuoYeJieYi", 27, 'D', "jiaYouXianQi"}; AVPerson per4 = {"jiZeMingBu", 24, 'E', "yiLuXingXi"}; AVPerson arr[4] = {per1, per2, per3, per4}; //打印出每一个元素的信息 for (int i = 0; i < 4; i++) { printf("%13s -- %d -- %c -- %s\n", arr[i].name, arr[i].age, arr[i].bust, arr[i].product); } printf("------------------------------------------\n"); for (int i = 0; i < 4 - 1; i++) { for (int j = 0; j < 4 - 1 - i; j++) { if (strcmp(arr[j].name, arr[j+1].name) < 0) { AVPerson temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } printf("按名字大小比较排序后:\n"); for (int i = 0; i < 4; i++) { printf("%13s -- %d -- %c -- %s\n", arr[i].name, arr[i].age, arr[i].bust, arr[i].product); }
需要注意的问题:
控制台运行示例: