数据结构 图书管理系统 c语言生成图书排序代码
时间: 2023-08-02 10:39:31 浏览: 167
以下是一个简单的图书管理系统的图书排序代码,使用了冒泡排序算法:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_BOOKS 100
typedef struct {
char title[100];
char author[100];
int year;
} Book;
void sort_books(Book books[], int num_books) {
int i, j;
Book temp;
for (i = 0; i < num_books - 1; i++) {
for (j = 0; j < num_books - i - 1; j++) {
if (strcmp(books[j].title, books[j + 1].title) > 0) {
temp = books[j];
books[j] = books[j + 1];
books[j + 1] = temp;
}
}
}
}
int main() {
Book books[MAX_BOOKS];
int num_books, i;
printf("Enter number of books: ");
scanf("%d", &num_books);
for (i = 0; i < num_books; i++) {
printf("Enter book %d title: ", i + 1);
scanf("%s", books[i].title);
printf("Enter book %d author: ", i + 1);
scanf("%s", books[i].author);
printf("Enter book %d year: ", i + 1);
scanf("%d", &books[i].year);
}
sort_books(books, num_books);
printf("\nSorted books:\n");
for (i = 0; i < num_books; i++) {
printf("%d. %s by %s (%d)\n", i + 1, books[i].title, books[i].author, books[i].year);
}
return 0;
}
```
这段代码定义了一个 Book 结构体,表示一本书的信息,包括书名、作者和出版年份。在主函数中,先读入书的数量和每本书的信息,然后调用 sort_books 函数进行排序。排序函数使用冒泡排序算法,按照书名的字典序进行比较。最后输出排序后的书籍列表。
阅读全文