首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

定义一个结构体表示图书信息,包含书名、作者、出版日期、价格等成员变量,并编写一个函数按价格从低到高排序。

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语句判断当前元素和下一个元素的价格大小关系,如果当前元素价格比下一个元素高,则交换它们的位置。

最终,经过多轮比较之后,书籍结构体数组中的元素按照价格从低到高排序。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230320A01TW100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券