编写程序,从输入的若干整数中找到最小值最大值以及各自出现的次数。 输入 第一行正整数N,不超过1000。 第二行,包含N个正整数,每个整数均不超过1000。 输出 第一行输出最小值以及出现的次数。 第二行输出最大值以及出现的次数。整数之间用1个空格隔开。
时间: 2024-09-07 14:04:42 浏览: 53
从输入的一批正整数中求出最大值、最小值和平均值,输入0结束数据的输入
编写这样的程序,首先需要读取用户输入的整数数量(N)和具体数值。可以按照以下步骤设计程序:
1. **获取输入**:
- 使用循环读取第一行数据,直到遇到换行符,存储为整数 N。
2. **初始化变量**:
- 初始化两个变量(min_value 和 max_value),用于记录最小值和最大值。
- 初始化两个计数器(min_count 和 max_count),分别统计最小值和最大值的出现次数。
3. **遍历输入**:
- 通过另一个循环,遍历接下来的 N 行数据,将每次读取到的整数与当前 min_value 和 max_value 比较,并更新相应变量及其计数器。
- 如果当前数字小于 min_value,则更新 min_value 为该数,并清零 min_count。
- 同理,如果当前数字大于 max_value,则更新 max_value 为该数,并清零 max_count。
- 遇到相等的数字时,仅增加对应的计数器。
4. **输出结果**:
- 循环结束后,输出 min_value、min_count,然后空格,再输出 max_value、max_count。
5. **代码示例(Python)**:
```python
def find_min_max_counts():
n = int(input())
numbers = [int(num) for num in input().split()]
min_value = max_value = numbers[0]
min_count = max_count = 1
for num in numbers[1:]:
if num < min_value:
min_value = num
min_count = 1
elif num == min_value:
min_count += 1
elif num > max_value:
max_value = num
max_count = 1
elif num == max_value:
max_count += 1
print(f"{min_value} {min_count}")
print(f"{max_value} {max_count}")
find_min_max_counts()
```
阅读全文