求大佬帮忙 排序问题
给定来自标准输入的整数,对这些数字进行排序。按降序排列并逐行输出结果。每个数字都以一行文本的形式给出。程序必须在输入文本为空时结束。输入数据将提供最多10万个范围从-9到+9(无符号的一位数)的整数。
这里,请用手工编写排序过程,即避免使用内置函数进行排序,如sort()或sorted() 你是来找作业答案的吧{:10_249:} def mysort(d):
for i in range(len(d) - 1):
for j in range(i + 1 , len(d)):
if d > d:
d , d = d , d
def myshow(d):
print(d , end = '')
for k in range(1 , len(d)) : print(' %d' % d , end = '')
print()
s = input() . strip()
if s:
d = list(map(int , s . split()))
mysort(d)
myshow(d) jackz007 发表于 2020-11-23 14:08
可以改一下成允许输入为
-9
8
-3
1
0
这种形式的吗?
因为我输入的时候好像只能并排输入不能跨行输入 本帖最后由 jackz007 于 2020-11-23 17:34 编辑
Tac 发表于 2020-11-23 15:14
可以改一下成允许输入为
-9
8
def mysort(d):
for i in range(len(d) - 1):
for j in range(i + 1 , len(d)):
if d > d:
d , d = d , d
d = []
while True :
x = input() . strip()
if x : d . append(int(x))
else : break
if len(d):
mysort(d)
for x in d : print(x)
jackz007 发表于 2020-11-23 15:41
12行报错了。。。 jackz007 发表于 2020-11-23 15:41
第12行报错了,大佬 Tac 发表于 2020-11-23 17:25
第12行报错了,大佬
已经改好,请你再测。 jackz007 发表于 2020-11-23 17:35
已经改好,请你再测。
多谢多谢
页:
[1]