C语音 编写程序,从键盘输入 n (n<10)本书的名称和定价并存入结构数组中,查找并输出其中定价最高和最低的书的名称和定价。 输出格式语句: printf("highest price: %.1f, %s\n", ); printf("lowest price: %.1f, %s\n",);
时间: 2023-11-27 22:52:39 浏览: 132
下面是使用C语言编写的程序,用于实现从键盘输入n本书的名称和定价并存入结构数组中,查找并输出其中定价最高和最低的书的名称和定价:
```c
#include <stdio.h>
#include <string.h>
#define MAX_BOOKS 10
struct Book {
char name[20];
float price;
};
int main() {
struct Book books[MAX_BOOKS];
int n;
printf("Enter the number of books: ");
scanf("%d", &n);
// 读取书名和价格,并将它们存储在结构数组中
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);
}
// 查找最高价和最低价的书
int max_index = 0, min_index = 0;
for (int i = 1; i < n; i++) {
if (books[i].price > books[max_index].price) {
max_index = i;
}
if (books[i].price < books[min_index].price) {
min_index = i;
}
}
// 输出结果
printf("Highest price: %.1f, %s\n", books[max_index].price, books[max_index].name);
printf("Lowest price: %.1f, %s\n", books[min_index].price, books[min_index].name);
return 0;
}
```
在程序中,我们首先定义了一个结构体`Book`,用于存储每本书的名称和价格。然后,我们定义了一个结构体数组`books`,用于存储所有输入的书籍信息。
接下来,我们从键盘读取一个整数n,表示要输入的书籍数量。接着,使用一个循环读取每本书的名称和价格,并将它们存储在结构数组中。
然后,我们使用另一个循环来查找最高价和最低价的书。在循环中,我们使用两个变量`max_index`和`min_index`来保存最高价和最低价的书在结构数组中的下标。我们使用if语句来检查每本书的价格是否比当前最高价或最低价更高或更低,并在必要时更新`max_index`和`min_index`的值。
最后,我们使用printf函数输出结果,包括最高价和最低价的书的名称和价格。
阅读全文