选出其中数字最大的一个(50分)

  • 主题发起人 主题发起人 zylsoft
  • 开始时间 开始时间
Z

zylsoft

Unregistered / Unconfirmed
GUEST, unregistred user!
已知 x1,x2,x3,x4,x5(全部为integer)

怎样选出其中数值最大的一个数;
 
GetMaxVal(x1,x2,x3,x4,x5: Integer): Integer;
var
intTemp: Integer;
begin
intTemp := x1;
if x2 > intTemp then
intTemp := x2;
if x3 > intTemp then
intTemp := x3;
if x4 > intTemp then
intTemp := x4;
if x5 > intTemp then
intTemp := x5;
Result := intTemp;
end;
 
uses Math;
X := Max(x1,Max(x2,Max(x3,Max(x4,x5))));
 
你先排序,就可以了。
给你一个排序过程,你可以参考。很容易。
procedure QuickSort(var A:array of Integer; iLo,iHi:Integer);
var
Lo,Hi,Mid,T:Integer;
begin
Lo:=iLo;
Hi:=iHi;
Mid:=A[(Lo+Hi)div 2];
repeat
while A[Lo]<Mid do
Inc(Lo);
while A[Hi]>Mid do
Dec(Hi);
if Lo<=Hi then
begin
T:=A[Lo];
A[Lo]:=A[Hi];
A[Hi]:=T;
Inc(Lo);
Dec(Hi);
end;
until Lo>Hi;
if Hi>iLo then QuickSort(A,iLo,Hi);
if Lo<iHi then QuickSort(A,Lo,iHi);
end;
 
zswang说得对,引入MATH单元
就能直接用X := Max(x1,Max(x2,Max(x3,Max(x4,x5))));
 
zswang的对啊
直接用max
X := Max(x1,Max(x2,Max(x3,Max(x4,x5))));
 
上述的方法都行
最简单的应该是采用max函数
 
X := Max([x1,x2,x3,x4,x5]);

不知道行不?
 
改写一下max函数嘛,改成参数可以两个以上的就可以了撒!
 
uses Math;
X := Max(x1,Max(x2,Max(x3,Max(x4,x5))));
这个正确
 
同意zswang 想法挺帅
 
多人接受答案了。
 
后退
顶部