怀念部队 发表于 2014-1-6 17:10:50

按照鱼老师的15讲做的判断最大值和下标,怎么也不行啊??????

我觉得基本是没错误啊,但是总是显示最大和下标是最后一个,这不科学啊!!、
代码附上,哪位帮我看看啊




procedure TForm1.Button1Click(Sender: TObject);
var
Ran_num:Array OfInteger;
i: Integer;
max,max_i:Integer;    //max存放最大值,max_i存放最大值下标。
begin
    Randomize;            //消除伪随机数的弊端。
    Edit1.Text:='';
    Edit2.Text:='';
    Edit3.Text:='';
For i:=1 To 10 Do
    begin
       Ran_num:=Random(100);
       Edit1.Text:=Edit1.Text + IntToStr(Ran_num) + ' ';
    end;

          //以下代码进行数据筛选。
          max:=Ran_num;
          max_i:=1;
          for i:=2 To 10 do
          begin
            If (max < Ran_num) Then;
            begin
                  max:=Ran_num;
                  max_i:=i;
            end;

          end;
          Edit2.text:=IntToStr(max);
          Edit3.text:=IntToStr(max_i);
end;
end.

ne555lm386 发表于 2014-1-6 22:36:11

If (max < Ran_num) Then;
这条语句后面的分号去掉,不然编译器把这条语句当成一条命令执行

怀念部队 发表于 2014-1-7 13:02:15

我试试,谢谢

怀念部队 发表于 2014-1-7 13:05:34

真的是这里的原因非常感谢

myisland 发表于 2014-1-11 13:11:59

多犯几次这种错误就能记住了!:lol:

wozengcong 发表于 2014-1-18 18:30:35

If (max < Ran_num) Then;后面怎么又1个分号?

2004111 发表于 2014-1-23 12:57:14

支持一个哦
页: [1]
查看完整版本: 按照鱼老师的15讲做的判断最大值和下标,怎么也不行啊??????