回 帖 发 新 帖 刷新版面

主题:考考你!看你是什么级别的!

请编写一个程序,利用随机函数,产生n个【0,20】之间的随机整数。统计产生的最多那几个随机整数,输出这几个随机整数和相应个数

回复列表 (共7个回复)

沙发

这么水的题目还说是考人??

板凳

飞燕:
这题对我们来说是很水,但是人家是初学者,这题对人家来说还是很难的!

CLS
RANDOMIZE TIMER
INPUT n: IF n = 0 THEN END: DIM b(20)
FOR i = 1 TO n
    s = INT(RND * 21)
    b(s) = b(s) + 1
NEXT i
k = b(0)
FOR i = 1 TO 20
    IF b(i) > k THEN k = b(i)
NEXT i
FOR i = 0 TO 20
    IF b(i) = k THEN PRINT i
NEXT i
PRINT "Total:"; k
END

3 楼

对于这种题目我一向视为纯作业类帖子,并且不给予解答

4 楼

这种在书上一翻都有的东西,干嘛不留给楼主自己翻书,还要劳烦你自己复制一份代码?

5 楼

我把题目改一下大家试试做做:
请编写一个程序,不利用随机函数,产生n个【0,20】之间的随机整数。统计产生的最多那几个随机整数,输出这几个随机整数和相应个数
(就是叫你自己写一个随机函数:X )

6 楼

楼上的问题:
DECLARE FUNCTION rnd2! (t!)
CLS
INPUT n: IF n = 0 THEN END: DIM b(20)
FOR i = 1 TO n
    s = rnd2(TIMER)
    FOR j = 1 TO 50000: NEXT j
    b(s) = b(s) + 1
NEXT i
k = b(0)
FOR i = 1 TO 20
    IF b(i) > k THEN k = b(i)
NEXT i
FOR i = 0 TO 20
    IF b(i) = k THEN PRINT i
NEXT i
PRINT "Total:"; k
END

FUNCTION rnd2 (t)
k = (t - INT(t)) * INT(t)
rnd2 = INT(k) MOD 21
END FUNCTION
(不过如果n太大,时间会很长)

7 楼

楼上的强

我来回复

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