C语言 给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价。
时间: 2023-02-05 21:00:36 浏览: 84
在这道题中,我们可以使用 C 语言中的结构体来存储每本书的信息。例如,我们可以定义一个名为 `Book` 的结构体,包含书名和定价两个字段:
```c
struct Book {
char name[100];
float price;
};
```
然后我们可以定义一个长度为 n 的数组,用来存储这 n 本书的信息:
```c
struct Book books[n];
```
接下来,我们可以使用循环语句来读入这 n 本书的信息。在每次读入之后,我们可以与当前的最高价格和最低价格进行比较,并更新最高价格和最低价格的值,以及对应的书名。
```c
float max_price = -INFINITY;
float min_price = INFINITY;
char max_name[100];
char min_name[100];
for (int i = 0; i < n; i++) {
printf("Enter the name and price of book %d: ", i+1);
scanf("%s %f", books[i].name, &books[i].price);
if (books[i].price > max_price) {
max_price = books[i].price;
strcpy(max_name, books[i].name);
}
if (books[i].price < min_price) {
min_price = books[i].price;
strcpy(min_name, books[i].name);
}
}
printf("The book with the highest price is %s with a price of %.2f.\n", max_name, max_price);
printf("The book with the lowest price is %s with a price of %.2f.\n", min_name, min_price);
```
最后,我们可以输出最高价格和最低价格对应的书名和定价,就像上面的代码所示。
希望这能帮到你!
阅读全文