每本图书包括书名、作者和出版日期。按照出版日期升序排序,即先出版的图书排在前面。 输入:从键盘输入一个整数 n (1 <=n <= 100),表示图书数量。然后输入 口 行,每行包含 -本图书的信息:书名 (不超过 100 个宁符)、作者(不超过 100 个字符)和出版日期(格式为0-YYYy-MM-DD),数据之问用空格隔开。 输出:按排序后的顺字输出图书的信息,每本图书一行,包括书名、作者和出版日期,数据之间用 空格隔开
时间: 2024-02-15 13:01:57 浏览: 16
这段代码不是完整的程序,它只是一个循环输出结构体数组 `books` 中每一本书的信息,包括书名、作者和出版日期。输出的顺序是按照数组中书的顺序输出的,而不是按照出版日期升序排序的。
要按照出版日期升序排序,可以使用 C++ 标准库中的 `sort` 函数,代码示例如下:
```cpp
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
struct Book {
string title;
string author;
string date;
};
bool cmp(const Book& a, const Book& b) {
return a.date < b.date;
}
int main() {
int n;
cin >> n;
Book books[100];
for (int i = 0; i < n; i++) {
cin >> books[i].title >> books[i].author >> books[i].date;
}
sort(books, books + n, cmp);
for (int i = 0; i < n; i++) {
cout << books[i].title << " " << books[i].author << " " << books[i].date << endl;
}
return 0;
}
```
在这个程序中,我们定义了一个结构体 `Book`,包含三个成员变量:书名、作者和出版日期。我们还定义了一个比较函数 `cmp`,用来比较两本书的出版日期,以便在 `sort` 函数中进行排序。在主函数中,我们首先输入图书数量 `n`,然后输入每一本书的信息,存储到 `books` 数组中。最后,我们调用 `sort` 函数对 `books` 数组按照出版日期升序排序,然后循环输出每一本书的信息。