Files
data-structures-and-algorithms/homework1/test2.cpp
T
2024-12-05 15:46:08 +08:00

51 lines
1.1 KiB
C++

#include <iomanip>
#include <iostream>
using namespace std;
typedef struct {
string id;
string name;
double price;
} book;
void swap(book &a, book &b) {
book temp = a;
a = b;
b = temp;
}
void sort(book *arr, int length) {
for (int i = 0; i < length - 1; i++) {
for (int j = 0; j < length - 1 - i; j++) {
if (arr[j].price < arr[j + 1].price) {
swap(arr[j], arr[j + 1]);
}
}
}
}
int input(book *books) {
int length = 0;
for (int length = 0; true; length++) {
cin >> books[length].id >> books[length].name >> books[length].price;
if (books[length].id == "0" && books[length].name == "0" && books[length].price == 0) {
return length;
}
}
}
void output(book *books, int length) {
for (int i = 0; i < length; i++) {
cout << books[i].id << " " << books[i].name << " " << fixed << setprecision(2) << books[i].price << endl;
}
}
int main() {
book books[100];
int length = input(books);
sort(books, length);
output(books, length);
return 0;
}