回 帖 发 新 帖 刷新版面

主题:求助 急急急

谁能帮写个程序??
  比如我有ABC 3个字母 我设定A的出现几率为45% B的出现几率为15% C的出现几率为40% 那么我想统计在10次 或者20……次内这3个字母出现的情况

回复列表 (共10个回复)

沙发

是这个意思吗?
CLS
INPUT " n = ", n
PRINT "  A = ", n * .45
PRINT "  B = ", n * .15
PRINT "  C = ", n * .4
END

板凳


不是这个意思哦 
我的意思是这样的 A出现的几率45% B出现的几率15% C出现的几率40%
然后产生一个随机数1-100 
我们现在假设A=1-45 B=46-60 C=61-100
产生的随机数是36 那么显示结果为A 
就这个意思

3 楼

这样?
CLS
INPUT "n = ", n
DIM a(1 TO 3)
FOR i = 1 TO n
  RANDOMIZE TIMER
  x = INT(RND * 100 + 1)
  IF x > 0 AND x < 46 THEN a(1) = a(1) + 1
  IF x > 45 AND x < 61 THEN a(2) = a(2) + 1
  IF x > 60 AND x < 101 THEN a(3) = a(3) + 1
NEXT i
PRINT "A :"; a(1)
PRINT "B :"; a(2)
PRINT "C :"; a(3)
END

4 楼

别忘了加分

5 楼


朋友 运行不了哦

6 楼

怎么可能?
什么错误信息?

7 楼


DIM a(1 TO 3) 

这里的a就不可以了

8 楼

在我这运行得很好

9 楼


Duplicate definition
这个代码

10 楼

CLS
将楼上的改一下
INPUT "n = ", n
DIM a(1 TO 3)
FOR i = 1 TO n
  RANDOMIZE TIMER
  x = INT(RND * 100 + 1)
  IF x > 0 AND x < 46 THEN PRINT "A"; : a(1) = a(1) + 1
  IF x > 45 AND x < 61 THEN PRINT "B"; : a(2) = a(2) + 1
  IF x > 60 AND x < 101 THEN PRINT "C"; : a(3) = a(3) + 1
NEXT i
PRINT
PRINT "A :"; a(1)
PRINT "B :"; a(2)
PRINT "C :"; a(3)
END

我来回复

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