回 帖 发 新 帖 刷新版面

主题:[讨论]紧急求助!

随机产生100个[100,500]之间的正整数再将这些数按从大到小的顺序排序并以每行个数的形式输出.

     备注:我编了很久,就是不能实现从大到小输出,请各位高手帮帮忙,谢了!

回复列表 (共3个回复)

沙发

在旧贴里搜索一下"排序",学习一下.

板凳

DIM a(1 TO 100) AS INTEGER
FOR i = 1 TO 100
  a(i) = INT(RND * 401) + 100
NEXT i
FOR i = 2 TO 100
  FOR j = 1 TO i - 1
    IF a(j) < a(i) THEN SWAP a(i), a(j)
  NEXT j
NEXT i
FOR i = 1 TO 100
  PRINT a(i)
NEXT i

程序未经调试优化, 凑合着看吧.

3 楼

RANDOMIZE TIMER
DIM A(100)
随机产生100个[100,500]之间的正整数
FOR I=1 TO 100
  A(I)=INT(RND*401)+100
NEXT I
排序(选择法)
FOR I=1 TO 99
  FOR J=I+1 TO 100
    IF A(I)<A(J) THEN SWAP A(I),A(J)
  NEXT J
NEXT I
打印:
FOR I=1 TO 100
  ? A(I)
NEXT I
END
排序也可采用冒泡法:
FOR I=1 TO 99
  FOR J=1 TO 100-I
    IF A(J)<A(J+1) THEN SWAP A(J),A(J+1)
  NEXT J
NEXT I

我来回复

您尚未登录,请登录后再回复。点此登录或注册