//1.主函数创建5个学生的数组,写一个排序函数,让学生按姓名从小到大排序,主函数输出排序后的结果。
void sortStuByName(Student *pStu, int count) {
for (int i = 0; i < count - 1; i++) {
for (int j = 0; j < count - 1 - i; j++) {
if (strcmp((pStu + j)->name, (pStu + j + 1)->name) > 0) {
char temp[20] = {0};
strcpy(temp, pStu + j + 1);
strcpy(pStu + j + 1, pStu + j);
strcpy(pStu + j, temp);
}
}
}
}
void outputStu(Student *pStu, int count) {
for (int i = 0; i < count; i++) {
printf("%s %d %d\n", (pStu + i)->name, (pStu + i)->age, (pStu + i)->score);
}
}
//2、写一个整型数组排序的函数,并测试效果。
void assignArr(int *pArr, int count) {
for (int i = 0; i < count; i++) {
*(pArr + i) = arc4random() % 50;
}
}
void sortArr(int *pArr, int count) {
for (int i = 0; i < count - 1; i++) {
for (int j = 0; j < count - 1 - i; j++) {
if (*(pArr + j) > *(pArr + j + 1)) {
int temp = *(pArr + j + 1);
*(pArr + j + 1) = *(pArr + j);
*(pArr + j) = temp;
}
}
}
}
void outputArr(int *pArr, int count) {
for (int i = 0; i < count; i++) {
printf("%d ", *(pArr + i));
}
}主函数创建5个学生的数组,写一个排序函数,让学生按姓名从小到大排序,主函数输出排序后的结果
最新推荐文章于 2022-11-30 23:55:32 发布
本文介绍了两种排序算法的实现:一种是对学生信息数组按姓名排序的方法,包括姓名比较和交换;另一种是对整型数组进行排序的方法,通过比较和交换元素来实现。这两种排序算法都采用了冒泡排序的思想。
1907

被折叠的 条评论
为什么被折叠?



