编写程序,从键盘输入 n (n<10)本书的名称和定价并存入结构数组中,按单价从小到大排序并输出排序后的书籍信息。 输入输出示例:括号内为说明,无需输入输出
时间: 2024-05-09 21:15:24 浏览: 92
以下是示例代码,供参考:
```c
#include <stdio.h>
#include <string.h>
#define MAX_BOOKS 10
#define MAX_TITLE_LENGTH 50
typedef struct {
char title[MAX_TITLE_LENGTH];
float price;
} Book;
void sort_books(Book books[], int num_books) {
int i, j;
Book temp;
for (i = 0; i < num_books - 1; i++) {
for (j = i + 1; j < num_books; j++) {
if (books[i].price > books[j].price) {
temp = books[i];
books[i] = books[j];
books[j] = temp;
}
}
}
}
int main() {
int num_books, i;
Book books[MAX_BOOKS];
printf("请输入书籍数量(小于10):");
scanf("%d", &num_books);
if (num_books > MAX_BOOKS) {
printf("书籍数量不能超过%d本", MAX_BOOKS);
return 0;
}
printf("请输入%d本书的名称和价格,格式为“名称 价格”:\n", num_books);
for (i = 0; i < num_books; i++) {
scanf("%s %f", books[i].title, &books[i].price);
}
sort_books(books, num_books);
printf("按价格排序后的书籍信息为:\n");
for (i = 0; i < num_books; i++) {
printf("%s %.2f\n", books[i].title, books[i].price);
}
return 0;
}
```
示例输入:
```
3
C语言程序设计 29.90
数据结构与算法 39.80
计算机网络 59.00
```
示例输出:
```
按价格排序后的书籍信息为:
C语言程序设计 29.90
数据结构与算法 39.80
计算机网络 59.00
```
阅读全文