编写一个程序,输入一次整数序列,其结尾的符号是数字 0 的输入(零不被视为序列的成员),并找到: 1) 所有输入数字的算术平均值 2) 所有输入数字中的最大值 3) 输入的正数的算术平均值 4) 所有输入的数字中最小的正值
时间: 2024-09-27 16:02:49 浏览: 26
为了编写这个程序,我们可以使用Python作为示例语言。首先,我们需要获取用户的输入,然后解析这个字符串找出数字、它们的数量以及是否为正数。以下是代码的一个简单实现:
```python
def process_sequence(input_str):
# 移除输入字符串的开头和结尾的空格
input_str = input_str.strip()
# 初始化变量
total_sum = 0
count = 0
max_value = float('-inf') # 初始化为负无穷大
min_positive_value = float('inf') # 初始化为正无穷大
positive_count = 0
# 遍历字符串中的每个字符
for char in input_str:
if char.isdigit(): # 如果是数字字符
num = int(char)
total_sum += num
count += 1
if num > max_value:
max_value = num
if num > 0 and num < min_positive_value:
min_positive_value = num
positive_count += 1
# 计算平均值
average_all = total_sum / count if count > 0 else None
average_positive = min_positive_value / positive_count if positive_count > 0 else None
return {
'average_all': average_all,
'max_value': max_value,
'average_positive': average_positive,
'min_positive_value': min_positive_value
}
# 获取用户输入
input_sequence = input("请输入一个包含数字的字符串,结尾可以是0(不含0): ")
result = process_sequence(input_sequence)
# 输出结果
print(f"所有数字的算术平均值: {result['average_all']}")
print(f"所有输入数字中的最大值: {result['max_value']}")
print(f"正数的算术平均值: {result['average_positive']}")
print(f"所有输入的数字中最小的正值: {result['min_positive_value']}")
#
阅读全文