level 3
那就是我啊◎
楼主
输入一个数组,将数组的负数都放在正数的左边,输出新数组和交换次数
为何爆0
var n,i,j,t,ans:integer; a:array[1..1000] of integer;
begin
readln(n);
for i:=1 to n do read(a[n]); i:=1; j:=n;
repeat
while a[i]<0 do inc(i);
while a[j]>0 do dec(j);
if i<j then
begin t:=a[i]; a[i]:=a[j]; a[j]:=t; inc(i); dec(j); inc(ans);end;
until i=j;
for i:=1 to n do write(a[i]:3);
writeln; writeln(ans);
end.
2013年12月31日 12点12分
1
为何爆0
var n,i,j,t,ans:integer; a:array[1..1000] of integer;
begin
readln(n);
for i:=1 to n do read(a[n]); i:=1; j:=n;
repeat
while a[i]<0 do inc(i);
while a[j]>0 do dec(j);
if i<j then
begin t:=a[i]; a[i]:=a[j]; a[j]:=t; inc(i); dec(j); inc(ans);end;
until i=j;
for i:=1 to n do write(a[i]:3);
writeln; writeln(ans);
end.