C++题目描述 小明去超市买商品,买了N件,每件商品的价格都是整数(价格不会全都一样),小明想知道这N件商品中,最贵商品和最便宜商品分别有几个(最贵和最便宜分别可以有多个)?请你编写程序帮忙小明计算。 输入 第1行有一个整数n(n<=100) 第2行有n个整数,用空格隔开。 输出 输出2个整数,用空格隔开,第1个整数代表最贵的商品有几个,第2个整数代表最便宜的商品有几个。
时间: 2024-03-03 12:51:04 浏览: 497
以下是一个示例 C++ 代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
int n, max_cnt = 0, min_cnt = 0;
cin >> n;
int prices[n];
for (int i = 0; i < n; i++) {
cin >> prices[i];
}
int max_price = prices[0], min_price = prices[0];
for (int i = 1; i < n; i++) {
max_price = max(max_price, prices[i]);
min_price = min(min_price, prices[i]);
}
for (int i = 0; i < n; i++) {
if (prices[i] == max_price) {
max_cnt++;
}
if (prices[i] == min_price) {
min_cnt++;
}
}
cout << max_cnt << " " << min_cnt << endl;
return 0;
}
```
在这个实现中,我们首先读入商品的数量 `n`,以及 `n` 个商品的价格,并找到其中的最大值 `max_price` 和最小值 `min_price`。然后,我们遍历整个商品列表,统计最大价格和最小价格的数量,并输出结果。
需要注意的是,最大价格和最小价格可能有多个,因此我们需要在找到这些价格时分别对计数器进行增加。
阅读全文