首页 > 试题广场 >

var a : array [1..50] of int

[填空题]
var
  a : array [1..50] of integer;
  n, i, sum : integer;
procedure work(p, r : integer);
var
  i, j, temp : integer;
begin
  if p < r then
  begin
    i := p - 1;
    for j := p to r - 1 do
      if a[j] >= a[r] then
      begin
        inc(i);
        temp := a[i];
        a[i] := a[j];
        a[j] := temp;
      end;
    temp := a[i + 1];
    a[i + 1] := a[r];
    a[r] := temp;
    work(p, i);
    work(i + 2, r);
  end;
end;
begin
  read(n);
  for i := 1 to n do read(a[i]);
  work(1, n);
  for i := 1 to n - 1 do sum := sum + abs(a[i + 1] - a[i]);
  writeln(sum);
end.
输入:10 23 435 12 345 3123 43 456 12 32 -100
输出:1

这道题你会答吗?花几分钟告诉大家答案吧!