给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价。\n\n输入格式:\n输入第一行给出正整数n(<10),随后给出n本书的信息。每本书在一行中给出书名,即长度不超过30
时间: 2023-05-31 21:19:14 浏览: 142
### 回答1:
下列示例代码可以帮助您解决这个问题:
```python
n = int(input()) # 输入书籍数量
# 初始化最高和最低价
max_price = -1
min_price = float('inf')
max_name = ''
min_name = ''
for i in range(n):
name, price = input().split()
price = float(price)
if price > max_price:
max_price = price
max_name = name
if price < min_price:
min_price = price
min_name = name
# 输出结果
print("最贵的书:{} {:.2f}".format(max_name, max_price))
print("最便宜的书:{} {:.2f}".format(min_name, min_price))
```
这个程序首先从用户输入中读取书籍数量 `n`。然后,它通过循环读取每本书的名称和价格,并使用条件语句来更新最高和最低价格及其对应的书名。最后,程序输出最高和最低价格对应的书名和价格。请注意,我们使用 `float()` 函数将价格从字符串转换为浮点数,以便能够正确比较价格大小。输出结果使用字符串格式化函数 `format()` 来生成最终的字符串。
### 回答2:
然后在书名后给出一个正整数表示它的价格,价格在1和10000之间,数字间以一个空格分隔。\n\n输出格式:\n在一行中顺序输出价格最高和最低的书的信息,包括书名和价格,数字间以一个空格分隔。如果这样的书有多本,则输出价格最高的那本的信息。\n\n样例输入:\n5\nThe Book 43\nBookguide 56\nThe Dreamers 2\nOne Hundred Years of Solitude 10000\nPython Programming 72\n\n样例输出:\nOne Hundred Years of Solitude 10000 The Dreamers 2\n\n思路分析:\n首先根据输入的n值,定义两个变量max_price和max_book记录最高价格的书名和价格,定义两个变量min_price和min_book记录最低价格的书名和价格。\n然后从输入的第一本书开始,对于每本书,比较其定价与max_price和min_price,如果更高则更新max_price和max_book,如果更低则更新min_price和min_book。\n循环结束后,输出max_book、max_price、min_book、min_price即可。代码如下:
### 回答3:
然后在该行中给出一个实数,表示该书的价格,分别以空格隔开。
输出格式:
在第一行中输出定价最高的书的名称和价格,其后是一个空行。第三行输出定价最低的书的名称和价格,其后是一个空行。
思路分析:首先需要输入一个正整数n表示有几本书,然后输入每本书的信息,包括书名和价格。接下来对每本书的价格进行比较,找出最高价和最低价,然后输出对应的书名和价格即可。
代码实现如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_N 10
#define MAX_NAME_LEN 30
int main()
{
int n;
double price[MAX_N];
char name[MAX_N][MAX_NAME_LEN + 1];
double max_price = 0, min_price = 1000000000;
char max_name[MAX_NAME_LEN + 1], min_name[MAX_NAME_LEN + 1];
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%s%lf", name[i], &price[i]);
if (price[i] > max_price) {
max_price = price[i];
strcpy(max_name, name[i]);
}
if (price[i] < min_price) {
min_price = price[i];
strcpy(min_name, name[i]);
}
}
printf("%s %.2f\n\n%s %.2f\n", max_name, max_price, min_name, min_price);
return 0;
}
程序先读取正整数n,然后用循环读入每本书的名称和价格,并与当前最高价和最低价进行比较。如果当前书的价格比已有最高价高,则更新最高价和书名;如果当前书的价格比已有最低价低,则更新最低价和书名。最后输出最高价和最低价对应的书名和价格即可。
阅读全文