0

需要一个伪代码来从键盘输入一系列数字,并确保它们按升序排列,即使它们不需要连续。数字可以是正数或负数,并以虚拟值 9999 结尾。

这是我编写的python代码,它工作正常,

li=[]
num=int(raw_input("Enter number"))
while num!=9999:
    li.append(num)
    num=int(raw_input("Enter number"))
new=0   
print "Entered sequence is "
print li
j=0
while j<len(li):
    for i in range(len(li)-1):
        value1=li[i]
        value2=li[i+1]

        if (value1>value2):
            new=li[i]
            li[i]=li[i+1]
            li[i+1]=new
    j+=1
print "ordered list is "
print li

但是我把这个写成算法有问题。

这是我尝试过的算法:

Main
    li      list
    num     integer
    new=0,j=0       integer
    Begin   
        num=INPUT num.
        while num<>9999.
            append num to li.
            num=INPUT num.
        ENDWHILE.
    DISSPLAY "Entered Sequence is".
    OUTPUT li.
    while j<(length of li).
        FOR i=0 to (length of li-2).
        value1=i th element of li
        value2=(i+1) th element of li
            if (value1>value2):
                new=value1
                value1=value2
                value2=new
            ENDIF
        END FOR
        j=j+1
    ENDWHILE
    DISPLAY "ORDERED LIST IS"
    DISPLAY li
    END
END

我可以在算法中使用“列表”吗,因为我认为“列表”对象不会出现在每种编程语言中。算法不应该是通用代码。同样的方式是允许在编写算法时使用数组

可以说“li 中的 value1=ith 元素”吗?

以及如何表明我将从键盘输入的值分配给变量“num”

4

1 回答 1

1
于 2013-11-09T13:46:53.820 回答