前言:
此刻兄弟们对“c语言中结构体中嵌套另一个结构体”大概比较关注,姐妹们都想要知道一些“c语言中结构体中嵌套另一个结构体”的相关知识。那么小编在网上搜集了一些有关“c语言中结构体中嵌套另一个结构体””的相关知识,希望咱们能喜欢,我们一起来了解一下吧!#头条创作挑战赛#
定义一个结构体表示图书信息,包含书名、作者、出版日期、价格等成员变量,并编写一个函数按价格从低到高排序。
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语句判断当前元素和下一个元素的价格大小关系,如果当前元素价格比下一个元素高,则交换它们的位置。
最终,经过多轮比较之后,书籍结构体数组中的元素按照价格从低到高排序。
标签: #c语言中结构体中嵌套另一个结构体