龙空技术网

每日一道c语言编程题,第39题,结构体练习

于桐科技 194

前言:

此刻兄弟们对“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语言中结构体中嵌套另一个结构体