回 帖 发 新 帖 刷新版面

主题:求助!请问错在哪里?

我编的一个猜数字小游戏,请问为什么答案总是70?
10 CLS:PRINT "=======Guess Number======="
20 CLS:PRINT "Please Input Number"
30 B=RND(1)
40 LET C=INT(100*B)
50 INPUT A
60 IF A>B THEN PRINT "Big!":GOTO 90 ELSE 70
70 IF A<B THEN PRINT "Small!":GOTO 90 ELSE 80
80 PRINT "You Are Right!":END
90 C=0
100 LET C=C+1
110 IF C=90000 THEN GOTO 50 ELSE 100
[em18][em18][em18][em18][em18][em18][em18][em18]

回复列表 (共7个回复)

沙发

在QB中RND函数并不是随机的,你可以在前面先输个randomize,以后每次输一个特殊值,就可以有不同的随机数了

板凳

5 randomize timer
另外,30行中的rnd建议不要(1)

3 楼

CLS : RANDOMIZE TIMER
PRINT STRING$(14, "*") + "Guess Number" + STRING$(20, "*")
PRINT "*"; SPC(44); "*"
PRINT "*Please Input A Number" + STRING$(3, "-") + "0<A<100 || A=-1: END*"
PRINT "*"; SPC(44); "*"
PRINT STRING$(46, "*")
PRINT
b = INT(100 * RND)
DO
  INPUT "A=", A: IF A = -1 THEN EXIT DO
  IF A > b THEN
    PRINT "Big!"
  ELSEIF A < b THEN
    PRINT "Small!"
  ELSE
    PRINT "You Are Right!"
    EXIT DO
  END IF
LOOP
END

显示效果如下:
***************Guess Number*********************
*                                              *
* Please Input A Number---0<A<100 || A=-1: END *
*                                              *
************************************************

A=50
Small!
A=90
Big!
A=75
Small!
A=-1
Good Luck next time!

4 楼

谢啦!

5 楼

阿达,你没加RANDOMIZE TIMER.

6 楼

10 RANDOMIZE TIMER
20 CLS
30 a = RND(1)
40 b = INT(100 * a)
50 DO
60 INPUT c
70 IF c = b THEN
80 PRINT "you are right!!!"
90 END
100 END IF
110 IF c > b THEN PRINT "big!!!"
120 IF c < b THEN PRINT "small!!!"
130 LOOP
140 END
我已经很克制了还有14行

7 楼


随机换数字
10 RANDOMIZE TIMER
20 CLS
30 DO
40 a = RND(1)
50 b = INT(100 * a)
60 INPUT c
70 IF c = b THEN
80 PRINT "You are right!!!"
90 END
100 END IF
110 IF c > b THEN PRINT "Big!!!"
120 IF c < b THEN PRINT "Small!!!"
130 LOOP
140 END

我来回复

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