从键盘接受用户所输入的不超过20个的0~99的数,在用户完成输入后对用户所输入的数据进行排序并输出。要求定义子程序。
时间: 2023-04-27 16:03:39 浏览: 111
题目要求我们编写一个程序,从键盘接受用户输入的不超过20个0~99的数,然后对这些数进行排序并输出。同时,我们需要定义一个子程序来实现排序功能。
具体实现方法如下:
1. 首先,我们需要定义一个数组来存储用户输入的数。由于最多只有20个数,因此数组大小为20即可。
2. 接着,我们需要编写一个循环,从键盘接受用户输入的数,并将其存储到数组中。当用户输入的数超过20个或者输入的数不在0~99的范围内时,循环结束。
3. 定义一个子程序,用来实现排序功能。这里我们采用冒泡排序的方法,将数组中的数从小到大排序。
4. 最后,输出排序后的数组即可。
下面是具体的代码实现:
```
# 定义子程序,用来实现排序功能
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
# 主程序
if __name__ == '__main__':
# 定义数组,用来存储用户输入的数
arr = []
# 循环从键盘接受用户输入的数,并将其存储到数组中
while True:
num = input('请输入一个0~99的数(输入q结束):')
if num == 'q':
break
num = int(num)
if num < 0 or num > 99:
print('输入的数不在0~99的范围内,请重新输入!')
continue
arr.append(num)
if len(arr) == 20:
break
# 调用子程序,对数组进行排序
bubble_sort(arr)
# 输出排序后的数组
print('排序后的数组为:', arr)
```
运行程序后,我们可以输入一些0~99的数,程序会将其存储到数组中,并对数组进行排序。最后,程序会输出排序后的数组。