请教计算机语言问题!

来源:百度知道 编辑:UC知道 时间:2024/06/14 08:37:39
CLS
INPUT a$
a = LEN(a$)
FOR i = 1 TO a
b = b + 1
b$(i) = MID$(a$, b, 1)
NEXT i
FOR i = 1 TO a
FOR j = a + 1 TO a - 1
IF b$(i) < b$(j) THEN SWAP b$(i), b$(j)
NEXT j
NEXT i
FOR i = 1 TO a
PRINT b$(i)
NEXT i

其程序用意是将输入的字符串从小到大进行排列,但不知哪里出错了!
a是一个整数那么a下面的FOR循环 应该 没有问题。
...
b$(i)里面的i就是for i = 1 to a
也就是说在第一次循环的时候b$(i)等于b$(1),第二次的时候就是b$(2)...
b$(j)与b$(i)同理,只不过...在第二次循环的时候可能是...哦 我知道了将a改成i试下

哎 可惜了,如果你点醒了我我会把旗子给你的,只不过似乎不只这一个错误啊!
改了 依然出错,而且这里也确实是错了!

谢谢你的DIM b$(1 to 10)!3Q

经过正常测试未发现错误

CLS
INPUT a$
a = LEN(a$)
FOR i = 1 TO a
b = b + 1
b$(i) = MID$(a$, b, 1)
NEXT i
FOR i = 1 TO a - 1
FOR j = i TO a
IF b$(i) > b$(j) THEN SWAP b$(i), b$(j)
NEXT j
NEXT i
FOR i = 1 TO a
PRINT b$(i)
NEXT i

SWAP b$(i), b$(j)

?? 这个 啥 玩意 ??

你 有 定义 这个 函数 了 吗 ?/