NOIP初赛 普及组(完善程序)pascal

来源:百度知道 编辑:UC知道 时间:2024/05/14 14:05:40
帮忙讲解一下第一小题,ok?

逆序输出
1、(求字符的逆序)下面的程序的功能是输入若干行字符串,每输入一行,就按逆序输出该行,最后键入-1终止程序。
请将程序补充完整。
Program j401;
type str1=string[100];
var line:str1; kz:integer;
procedure reverse(var s:str1);
var I,j:integer; t:char;
begin
i:=1; j:=length(s);
while (i<j) do begin
t:=s[i]; s[i]:=s[j]; s[j]:=t;
_____①_____;______②______ ;
end;
end;
begin
writeln(‘continue? -1 for end.’);
readln(kz);
while ( _____③______)do
begin
readln(line);
_____④_____;
writeln(line);
writeln(‘continue? -1 for end.’);
readln(kz);
end;
end.
①和②处之前是一个冒泡排序,所以应该把i递增、j递减,
即①inc(i)②dec(j)
题目中说以-1结束,所以③应填kz<>-1
之前的过程定义好了,所以④应填reverse(line)

去好好看看排序就会了