#include<stdio.h>
struct Book {
int price;
char name[100];
}books[10],tmp;
int main()
{
for (int i = 0; i < 10; i++)
scanf_s("%s %d", books[i].name, sizeof(books[i].name), &books[i].price);
for (int i = 0; i < 9; i++)
{
int count = 0;
for (int j = 0; j < 10 - 1 - i; j++)
{
if (books[j].price > books[j + 1].price)
{
tmp = books[j];
books[j] = books[j + 1];
books[j+1] = tmp;
count = 1;
}
}
if (count == 0)
break;
}
for (int i = 0; i < 10; i++)
{
printf("price is :%d ", books[i].price);
printf("%s\n", books[i].name);
}
return 0;
}
用冒泡排序法引入第三个数字,用来交换整个结构体。