从键盘输入n对整数,求这些对整数间所有奇数之和的最大值。其中第一个整数为n,后续为n对整数。要求用函数实现一对整数min、max(含min和max)之间所有奇数的和若min>max,函数返回值为0。如输入:3 10 20 17 31 40 45,输出为192。
时间: 2024-09-18 19:06:25 浏览: 38
C语言程序设计-编写程序。从键盘读入8个整数存入数组a中并输出这8个数据。和、最大值、最小值及平均值。正数之和、负数之和
5星 · 资源好评率100%
这是一个经典的编程题目,可以使用Python等语言通过循环和条件判断来解决。你可以创建一个函数,接收两个整数作为参数,然后遍历输入的所有奇数对,累加奇数。如果遇到min大于max的情况,直接返回0。以下是伪代码的示例:
```python
def max_odd_sum(min_num, max_num):
# 检查是否min > max
if min_num > max_num:
return 0
odd_sum = 0
for pair in input_pairs: # 假设input_pairs是一个包含n对整数的列表
first, second = pair
if first % 2 != 0 and first >= min_num and first <= max_num:
odd_sum += first
if second % 2 != 0 and second >= min_num and second <= max_num:
odd_sum += second
return odd_sum
# 示例输入
n = int(input("请输入第一个整数: "))
pairs = []
for _ in range(n):
pair = list(map(int, input().split()))
pairs.append(pair)
result = max_odd_sum(pairs[0][0], pairs[-1][1]) # 由于不知道n对数的具体范围,取最大最小值作为边界
print(result)
```
在这个例子中,你需要在函数`max_odd_sum`外获取用户输入的n以及每一对整数,并将它们存储在一个列表中。然后调用这个函数计算结果。
阅读全文