输入10个大于零的整数,找到其中的最小数字与最大数字,输出这两个数字的值和在数组中的位置(从零开始编号),并求出这两个数字的最大公约数
时间: 2023-05-29 21:02:27 浏览: 88
本体涉及数组操作和最大公约数的求解,具体实现过程如下:
```python
# 定义数组并输入10个大于零的整数
arr = []
for i in range(10):
while True:
num = int(input(f"请输入第{i+1}个大于零的整数:"))
if num > 0:
break
arr.append(num)
# 找到最大值和最小值及其位置
min_num, max_num = arr[0], arr[0]
min_idx, max_idx = 0, 0
for i in range(1, len(arr)):
if arr[i] < min_num:
min_num = arr[i]
min_idx = i
elif arr[i] > max_num:
max_num = arr[i]
max_idx = i
# 输出结果
print(f"最小数字:{min_num},在数组中的位置:{min_idx}")
print(f"最大数字:{max_num},在数组中的位置:{max_idx}")
# 求最大公约数
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
gcd_num = gcd(min_num, max_num)
print(f"最大公约数:{gcd_num}")
```
样例输入:
```
请输入第1个大于零的整数: 3
请输入第2个大于零的整数: 18
请输入第3个大于零的整数: 8
请输入第4个大于零的整数: 11
请输入第5个大于零的整数: 7
请输入第6个大于零的整数: 23
请输入第7个大于零的整数: 25
请输入第8个大于零的整数: 6
请输入第9个大于零的整数: 12
请输入第10个大于零的整数: 10
```
样例输出:
```
最小数字:3,在数组中的位置:0
最大数字:25,在数组中的位置:6
最大公约数:1
```
阅读全文