数值交换

2023-09-18 19:05:29 浏览数 (2)

1 问题

输入一组数后,如何实现输入数值之间的比较,并将最大值放在首位,最小值放在末位。

2 方法

  1. 利用循环限制输入数字的个数,并规定最大值、最小值便与后面进行比较;
  2. 利用循环语句与条件语句来判断大小;
  3. 将最大值放于首位,最小值放于末位;

通过实验、实践等证明提出的方法是有效的,是能够解决开头提出的问题。

代码清单 1

代码语言:javascript复制
a=[]
n=int(input('n:'))
for i in range(n):
   a.append(int(input('num:')))
max=-9999999999
max_xiabiao=0
min=99999999999
min_xiabiao=0
for i in range(n):
   if a[i]<min:
       min=a[i]
       min_xiabiao=i
temp=a[min_xiabiao]
a[min_xiabiao]=a[n-1]
a[n-1]=temp
for i in range(n):
   if a[i]>max:
       max=a[i]
       max_xiabiao=i
temp=a[max_xiabiao]
a[max_xiabiao]=a[0]
a[0]=temp
for i in a:print(i)

3 结语

针对实现数值交换问题,提出利用列表、循环语句与条件语句方法,通过实验,证明该方法是有效的,本文的方法只能针对有限个数的数字的快速数值大小交换。在未来的学习中,可以继续研究当面对个数较多的数字时输入效率的提高。

0 人点赞