主题:麻烦大家了!!帮帮忙!
whj8820
[专家分:0] 发布于 2005-05-18 10:03:00
利用随机函数产生20个200到300之间的随机整数,用紧凑格式输出这组数值,每行显示10个数,选出其中的素数,并把这些素数从大到小排序。
回复列表 (共3个回复)
沙发
qbqb [专家分:400] 发布于 2005-05-19 00:01:00
DIM A(1 TO 20),B(1 TO 20) AS INTEGER
FOR I=1 TO 20
RANDOMIZE TIMER
A(I)=INT(RND*100+200)
FOR J=2 TO A(I)
IF A(I) MOD J=0 THEN M=M+1
NEXT J
IF M=1 THEN
B(I)=A(I)
C=C+1
END IF
M=0
NEXT I
PRINT "所有的随机数”;A(1);A(2);A(3)A(4);A(5);A(6);A(7);A(8);A(9);A(10)
PRINT“ ”;A(11);A(12);A(13);A(14);A(15);A(16);A(17);A(18);A(19);A(20)
SLEEP 3
FOR I=1 TO C-1
FOR J=I+1 TO C
IF B(J)<B(I) THEN SWAP B(J),B(I)
NEXT J,I
PRINT “索数从大到小”
FOR I=1 TO C
PRINT B(I)
NEXT I
END
板凳
moz [专家分:37620] 发布于 2005-05-19 08:55:00
总是忍不住手要拿别人的东西来动动刀子。
defint a-z
m=20
DIM A(m)
RANDOMIZE TIMER
print "随机数列表如下:"
FOR I=1 TO m
A(I)=INT(RND*101)+200
print a(i);
if m mod 10=0 then print
a(i)=zisu(a(i))
next
FOR I=1 TO m-1
FOR J=I+1 TO m
IF a(J)>a(I) THEN SWAP a(J),a(I) '上面的程序中,这一句的小于号好像搞错了吧?
NEXT J,I
PRINT "其中的素数从大到小列表是:";
FOR I=1 TO m
if a(i)=0 then exit for
PRINT a(I);
NEXT I
system
function zisu(b)
for i=2 to sqr(b)
if b mod i =0 then exit function
next
zisu=b
end function
3 楼
88324837 [专家分:490] 发布于 2005-05-21 17:35:00
给你个标准答案把
DIM A(20) AS INTEGER
FOR B=1 TO 20
A(B)=INT(RND*101)+200
PRINT A(B);
IF B MOD 10=0 THEN PRINT
Y=0
FOR C=2 TO SQR(A(B))
IF A(B) MOD C=0 THEN Y=1
NEXT C
IF Y=0 THEN N=N+1:A(N)=A(B)
NEXT B
FOR B=1 TO N-1
FOR C=1+B TO N
IF A(B)<A(C) THEN SWAP A(B),A(C)
NEXT C
NEXT B
FOR B=1 TO N
PRINT A(B);
NEXT B
END
我来回复