回 帖 发 新 帖 刷新版面

主题:问大家一道题

我才学QB,有一道不会做的题但是对各位大虾来说一定非常简单,希望大家能够帮小弟一个忙。
题目:
用户输入<=10个正整数,先比较大小,按照从大到小的顺序排列输出,然后再按照用户输入时的顺序再次输出。
[em18]

回复列表 (共7个回复)

沙发

自己的沙发~~
哪位大虾告诉我答案啊?万分感谢。
[em9][em9][em9]

板凳


讲公式,,不讲源码
假如 数<=10 然后......
.
.
.
.
结束 假如
'排序
.
.下面的公式我忘了,,对不起了

3 楼

你用A数组和B数组保存原数,然后对B数组排序,顺序输出B数组,再顺序输出A数组

事实上,A数组并没有任何变动.

简单的解法就是这样了.

如果数据非常多,就要考虑使用数据文件,文件的操作一般是放在后面学的,暂时还用不到它.

4 楼

dim a(10),b(10)
for i=1 to 10
input a(i)
b(i)=a(i)
next 
for i=1 to 9
 for j= i+1 to 10
 if a(i)<a(j) then swap (a(i),a(j))
next j
next i
for i=1 to 10
pritn a(i)
next i
for j=1 to 10
pritn b(i)
next 
end
我想用两个数组便可以了,我好久没有看过Qb了,那个交换函数我记不清楚, 

5 楼

你的头像怎么也是猫啊!跟我太像了.
CLS
DIM a(10),b(10)
FOR i=1 TO 10:INPUT a(i):b(i)=a(i):NEXT i
FOR i=1 TO 9
    FOR j=i+1 TO 10
        IF a(i)<a(j) THEN SWAP a(i),a(j)
NEXT j,i
FOR i=1 TO 10:PRINT a(i);:NEXT i
FOR i=1 TO 10:PRINT b(i);:NEXT i
END

6 楼

这道题很简单,主要是靠如何比较。

7 楼

dim a(10),b(10)
 for i = 1 to 10
input a(i)
b(i)=a(i)
next i
for i = 1 to 9
for j = i+1 to 10
if a(i)<a(j) then swap a(i),a(j)
next j ,i

for i = 1 to 10
print a(i);
next i 
for i = 1 to 10
print b(i);
next i
end
这样应该可以吧~

我来回复

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