从键盘输入10本书的名称和定价并存入结构体数组中,从中查找定价最高和最低的书的名称和定价,并输出。
时间: 2024-06-03 14:03:10 浏览: 128
c语言+从键盘输入10个无序的整数,存放在数组中,找出数组中最大值与最小值的所在的位置,并输出数组元素所在的位置与数组元素的值
5星 · 资源好评率100%
好的,你可以按照以下步骤实现:
1. 定义一个结构体,包含书名和价格两个成员变量。
2. 定义一个结构体数组,大小为10,用于存储10本书的信息。
3. 使用循环语句从键盘输入10本书的名称和定价,并存入结构体数组中。
4. 定义两个变量,分别用于存储最高价格和最低价格,并初始化为第一本书的价格。
5. 使用循环语句遍历结构体数组,比较价格,更新最高价格和最低价格,并记录对应的书名。
6. 输出最高价格和最低价格对应的书名和价格。
下面是示例代码:
```
#include <iostream>
#include <string>
using namespace std;
struct Book {
string name;
double price;
};
int main() {
Book books[10];
for (int i = 0; i < 10; i++) {
cout << "请输入第" << i+1 << "本书的名称和价格:";
cin >> books[i].name >> books[i].price;
}
double maxPrice = books[0].price;
double minPrice = books[0].price;
string maxName = books[0].name;
string minName = books[0].name;
for (int i = 1; i < 10; i++) {
if (books[i].price > maxPrice) {
maxPrice = books[i].price;
maxName = books[i].name;
}
if (books[i].price < minPrice) {
minPrice = books[i].price;
minName = books[i].name;
}
}
cout << "价格最高的书是:" << maxName << ",价格为:" << maxPrice << endl;
cout << "价格最低的书是:" << minName << ",价格为:" << minPrice << endl;
return 0;
}
```
阅读全文