回 帖 发 新 帖 刷新版面

主题:麻烦大家了!!帮帮忙!

利用随机函数产生20个200到300之间的随机整数,用紧凑格式输出这组数值,每行显示10个数,选出其中的素数,并把这些素数从大到小排序。

回复列表 (共3个回复)

沙发

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














板凳

总是忍不住手要拿别人的东西来动动刀子。

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 楼

给你个标准答案把

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

我来回复

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