回 帖 发 新 帖 刷新版面

主题:问:如何定义随机取数的函数?

我们老师要我做一个猜价格游戏,可我不会定义随机取数的函数,如何定义随机取数的函数?救命啊[em10]

回复列表 (共13个回复)

沙发

求救,好的加30分

板凳

program guess;
var n,i,cishu:longint;
begin
  randomize;
  n:=random({取数范围});
  writeln('Please to guess number:');
  readln(i);
  cishu:=1;
  while i<>n do
  begin
    writeln('Your guess is wrong!Please input another one:');
    readln(i);
    cishu:=cishu+1;
  until i=n;
  writeln('You used ',cishu,' to guess right.The ans is:',n);
end.

3 楼

看不懂,我只要定义部分,不要程序
还有,定义函数不是function吗?

4 楼

[quote]program guess;
var n,i,cishu:longint;
begin
  randomize;
  n:=random({取数范围});
  writeln('Please to guess number:');
  readln(i);
  cishu:=1;
  while i<>n do
  begin
    writeln('Your guess is wrong!Please input another one:');
    readln(i);
    cishu:=cishu+1;
  until i=n;
  writeln('You used ',cishu,' to guess right.The ans is:',n);
end.[/quote]


去值时,最好再round一下,以免出现小数。

5 楼

PS:4楼:没必要,况且没地方会有小数啊~~

PS:斑竹:程序开头的"randomize"就是函数啊(PASCAL内置随机开关,故只需打名称即可)

6 楼

random(1)会出现0到1之间的一个小数

PS:
random 获取随机数
randomize 随机数初始化
randseed 设置随机数

7 楼

还有random后面一定要word类型的吧?

8 楼

谁救猪呀``~我可没有说错,你本来就是猪!

9 楼

7L:对,必须是word类型

10 楼

给你代码得了:
program pas;
  var n,m:integer;
  begin
    n:=0;
    randomize;
    m:=random(100)+1;
    while n<>m do
      begin
        read(n);
        if n>m then writeln('big');
        if n<m then writeln('small');
        if n=m then writeln('yes');
      end;
  end.

我来回复

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