供参考:
#include <stdio.h>
struct book{
char strName[100]; // 图书名称
int nQuantity; // 图书销量(册数)
float fPrice; // 图书单价
double fSales; // 图书销售额
};
void print(struct book B[])
{
int i;
for (i = 0; i < 5; i++)
printf("%s %d %f %lf\n", B[i].strName, B[i].nQuantity, B[i].fPrice, B[i].fSales);
}
int main()
{
struct book Book[5], temp;
int i, j;
printf("输入五本书的信息:图书名称 图书销量 图书单价\n");
for (i = 0; i < 5; i++)
{
scanf("%s %d %f", Book[i].strName, &Book[i].nQuantity, &Book[i].fPrice);
Book[i].fSales = Book[i].nQuantity * Book[i].fPrice;
}
printf("按照图书销量排序:\n");
for (i = 0; i < 4; i++) {
for (j = 0; j < 4 - i; j++) {
if (Book[j].nQuantity > Book[j + 1].nQuantity) {
temp = Book[j]; Book[j] = Book[j + 1]; Book[j + 1] = temp;
}
}
}
print(Book);
printf("图书销售额排序:\n");
for (i = 0; i < 4; i++) {
for (j = 0; j < 4 - i; j++) {
if (Book[j].fSales > Book[j + 1].fSales) {
temp = Book[j]; Book[j] = Book[j + 1]; Book[j + 1] = temp;
}
}
}
print(Book);
return 0;
}