51 lines
1.1 KiB
C++
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 << "\t" << books[i].name << "\t" << fixed << setprecision(2) << books[i].price << endl;
|
|
}
|
|
}
|
|
|
|
int main() {
|
|
book books[100];
|
|
int length = input(books);
|
|
sort(books, length);
|
|
output(books, length);
|
|
return 0;
|
|
}
|