定义一个结构体表示图书信息,包含书名、作者、出版日期、价格等成员变量,并编写一个函数按价格从低到高排序。
struct Book {
char title[50];
char author[20];
struct Date pub_date;
float price;
};
void sortBooks(struct Book books[], int n) {
int i, j;
struct Book temp;
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-i-1; j++) {
if (books[j].price > books[j+1].price) {
temp = books[j];
books[j] = books[j+1];
books[j+1] = temp;
}
}
}
}
这段代码是实现一个排序函数,将一个书籍结构体数组按照价格从低到高排序。
函数sortBooks接受两个参数,一个是书籍结构体数组books,另一个是数组元素个数n。
函数内部使用了两个嵌套的循环,外层循环控制比较的轮次,内层循环控制每一轮比较的次数。
在每一轮比较中,使用if语句判断当前元素和下一个元素的价格大小关系,如果当前元素价格比下一个元素高,则交换它们的位置。
最终,经过多轮比较之后,书籍结构体数组中的元素按照价格从低到高排序。
领取专属 10元无门槛券
私享最新 技术干货