为什么INT(RND * 100)+1的总和总是等于0? _QBasic

时间:2015-02-28 15:16:51

标签: qbasic

我在QBasic中写了一个猜谜游戏,这种情况告诉你我不是这个,每次我运行代码时rndnum总是0.我应该改变什么?

2 个答案:

答案 0 :(得分:1)

要获得不同的随机数,您必须首先播种。以下是QB 4.5帮助文件中的示例:

RANDOMIZE TIMER  ' This is the best seed. The time is constantly changing
A =  INT(RND*100)+1 ' Generate a random number
Print A

答案 1 :(得分:0)

如果您说每次运行程序时第一个返回的数字为零,那么您只需要将randomize语句添加为一次性调用过程。如果你反而说当你在循环中迭代相同的代码时它每次都返回零,那么就会出现其他错误 - 很可能是因为任何原因QBasic不会将RND识别为函数,因此假设它是一个变量,默认设置为零。正确的语法类似于:

Lowerbound = 1
Upperbound = 100
RANDOMIZE
FOR X = 1 TO 10
  PRINT INT((Upperbound - Lowerbound + 1) * RND + Lowerbound)
NEXT X