给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价。
时间: 2023-04-29 22:04:10 浏览: 177
编写程序,首先需要读入n本书的名称和定价。可以使用数组或列表存储书的信息,然后使用for循环遍历每本书的定价。在遍历的过程中,需要记录最高定价和最低定价的书的信息,最后输出即可。
代码示例:
```
n = int(input('请输入书的数量:'))
book_list = []
for i in range(n):
name = input('请输入书名:')
price = float(input('请输入定价:'))
book = (name, price)
book_list.append(book)
max_book = ('', 0.0)
min_book = ('', float('inf'))
for book in book_list:
if book[1] > max_book[1]:
max_book = book
if book[1] < min_book[1]:
min_book = book
print('定价最高的书为:', max_book[0], ',定价为:', max_book[1])
print('定价最低的书为:', min_book[0], ',定价为:', min_book[1])
```
注意:上面的代码只是一个示例,可能不能直接使用。
相关问题
c++给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价
好的,这个问题可以使用C++语言编写程序来解决。以下是一个简单的示例代码,可以帮助您实现此功能:
```
#include <iostream>
#include <string>
using namespace std;
struct Book {
string name;
double price;
};
int main() {
int n;
cout << "请输入书籍的数量:";
cin >> n;
Book books[n];
for (int i = 0; i < n; i++) {
cout << "请输入第" << i+1 << "本书的名称和价格:";
cin >> books[i].name >> books[i].price;
}
double maxPrice = books.price, minPrice = books.price;
string maxName = books.name, minName = books.name;
for (int i = 1; i < n; 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;
// 相关问题
cout << "
C语言给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价。
以下是一个简单的C语言程序,可以实现这个功能:
```
#include <stdio.h>
#include <string.h>
#define MAX_BOOKS 100
struct Book {
char name[50];
double price;
};
int main() {
int n;
struct Book books[MAX_BOOKS];
double max_price = 0, min_price = 1e9;
int max_index, min_index;
printf("请输入书籍数量:");
scanf("%d", &n);
for (int i = 0; i < n; i++) {
printf("请输入第%d本书的名称和价格:", i+1);
scanf("%s %lf", books[i].name, &books[i].price);
if (books[i].price > max_price) {
max_price = books[i].price;
max_index = i;
}
if (books[i].price < min_price) {
min_price = books[i].price;
min_index = i;
}
}
printf("最高价格书籍:%s %.2lf\n", books[max_index].name, books[max_index].price);
printf("最低价格书籍:%s %.2lf\n", books[min_index].name, books[min_index].price);
return 0;
}
```
程序首先通过 `scanf` 获取用户输入的书籍数量,然后使用一个结构体数组 `books` 存储每一本书的名称和价格。同时,程序使用两个变量 `max_price` 和 `min_price` 记录当前找到的最高价格和最低价格。
在输入每一本书的信息时,程序会逐个比较价格,更新 `max_price` 和 `min_price`,以及对应的索引 `max_index` 和 `min_index`。
最后,程序输出找到的最高价格和最低价格的书籍名称和价格。
注意,本程序未对输入的书籍数量进行检查,如果用户输入的数量超过了 `MAX_BOOKS`,可能会导致程序出错。
阅读全文